XML::Node
Constants
Instance methods
Gets the attribute content for the attribute given by name.
Raises KeyError if attribute is not found.
Sets attribute of this node to value.
Raises XML::Error if this node does not support attributes.
Gets the attribute content for the attribute given by name.
Returns nil if attribute is not found.
Returns the content for this Node. An empty string is returned if the node has no content.
Sets the Node's content to a Text node containing string. The string gets XML escaped, not interpreted as markup.
Deletes attribute given by name.
Returns attributes value, or nil if attribute not found.
Returns the first child node of this node that is an element.
Returns nil if not found.
Returns detailed information for this node including node type, name, attributes and children.
Returns namespaces in scope for this node – those defined on this node
directly or any ancestor node – as an Array of XML::Namespace objects.
Default namespaces ("xmlns=" style) for this node are included in this
array; default namespaces for ancestors, however, are not.
See also #namespaces
Returns a Hash(String, String?) of prefix => href for all namespaces
on this node and its ancestors.
This method returns the same namespaces as #namespace_scopes.
Returns namespaces in scope for this node – those defined on this node
directly or any ancestor node – as a Hash of attribute-name/value pairs.
NOTE: Note that the keys in this hash XML attributes that would be used to
define this namespace, such as "xmlns:prefix", not just the prefix.
Pretty prints self into the given printer.
By default appends a text that is the result of invoking
#inspect on self. Subclasses should override
for custom pretty printing.
Serialize this Node as XML and return a String using default options.
See XML::SaveOptions.xml_default for default options.
Serialize this Node as XML to io using default options.
See XML::SaveOptions.xml_default for default options.
Searches this node for XPath path. Returns result with appropriate type
(Bool | Float64 | String | XML::NodeSet).
Raises XML::Error on evaluation error.
Searches this node for XPath path and restricts the return type to Bool.
require "xml"
doc = XML.parse("<person></person>")
doc.xpath_bool("count(//person) > 0") # => true
Searches this node for XPath path and restricts the return type to Float64.
require "xml"
doc = XML.parse("<person></person>")
doc.xpath_float("count(//person)") # => 1.0
Searches this node for XPath path for nodes and returns the first one.
or nil if not found
require "xml"
doc = XML.parse("<person></person>")
doc.xpath_node("//person") # => #<XML::Node:0x2013e80 name="person">
doc.xpath_node("//invalid") # => nil
Searches this node for XPath path and restricts the return type to NodeSet.
require "xml"
doc = XML.parse("<person></person>")
nodes = doc.xpath_nodes("//person")
nodes.class # => XML::NodeSet
nodes.map(&.name) # => ["person"]
Searches this node for XPath path and restricts the return type to String.
require "xml"
doc = XML.parse("<person></person>")
doc.xpath_string("string(/persons/person[1])")