NAME
XML::LibXML::NodeList - a list of XML document nodes
DESCRIPTION
An XML::LibXML::NodeList object contains an ordered list of nodes, as detailed by the W3C DOM documentation of Node Lists.
SYNOPSIS
my $results = $dom->findnodes('//somepath');
foreach my $context ($results->get_nodelist) {
my $newresults = $context->findnodes('./other/element');
...
}
API
new(@nodes)
You will almost never have to create a new NodeList object, as it is all done for you by XPath.
get_nodelist()
Returns a list of nodes, the contents of the node list, as a perl list.
string_value()
Returns the string-value of the first node in the list. See the XPath specification for what "string-value" means.
to_literal()
Returns the concatenation of all the string-values of all the nodes in the list.
get_node($pos)
Returns the node at $pos. The node position in XPath is based at 1, not 0.
size()
Returns the number of nodes in the NodeList.
pop()
Equivalent to perl's pop function.
push(@nodes)
Equivalent to perl's push function.
append($nodelist)
Given a nodelist, appends the list of nodes in $nodelist to the end of the current list.
shift()
Equivalent to perl's shift function.
unshift(@nodes)
Equivalent to perl's unshift function.
prepend($nodelist)
Given a nodelist, prepends the list of nodes in $nodelist to the front of the current list.
map($coderef)
Equivalent to perl's map function.
grep($coderef)
Equivalent to perl's grep function.
sort($coderef)
Equivalent to perl's sort function.
Caveat: Perl's magic $a
and $b
variables are not available in $coderef
. Instead the two terms are passed to the coderef as arguments.
reverse()
Equivalent to perl's reverse function.
foreach($coderef)
Inspired by perl's foreach loop. Executes the coderef on each item in the list. Similar to map
, but instead of returning the list of values returned by $coderef, returns the original NodeList.
reduce($coderef, $init)
Equivalent to List::Util's reduce function. $init
is optional and provides an initial value for the reduction.
Caveat: Perl's magic $a
and $b
variables are not available in $coderef
. Instead the two terms are passed to the coderef as arguments.