DESCRIPTION

An XML::XPath::NodeSet object contains an ordered list of nodes. The nodes each take the same format as described in XML::XPath::XMLParser.

SYNOPSIS

        my $results = $xp->find('//someelement');
        if (!$results->isa('XML::XPath::NodeSet')) {
                print "Found $results\n";
                exit;
        }
        foreach my $context ($results->get_nodelist) {
                my $newresults = $xp->find('./other/element', $context);
                ...
        }

API

\fInew()\fP

You will almost never have to create a new NodeSet object, as it is all done for you by XPath.

\fIget_nodelist()\fP

Returns a list of nodes. See XML::XPath::XMLParser for the format of the nodes.

\fIstring_value()\fP

Returns the string-value of the first node in the list. See the XPath specification for what \*(L"string-value\*(R" means.

\fIto_literal()\fP

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.

\fIsize()\fP

Returns the number of nodes in the NodeSet.

\fIpop()\fP

Equivalent to perl's pop function.

push(@nodes)

Equivalent to perl's push function.

append($nodeset)

Given a nodeset, appends the list of nodes in $nodeset to the end of the current list.

\fIshift()\fP

Equivalent to perl's shift function.

unshift(@nodes)

Equivalent to perl's unshift function.

prepend($nodeset)

Given a nodeset, prepends the list of nodes in $nodeset to the front of the current list.