Perl XML::LibXML: findnode vs. findvalue vs. finden - was ist der Unterschied?

Ich bin mit XML::LibXML, und das brauche ich einfach, um die Anzahl der Knoten angegeben, die durch einen XPath-Ausdruck.

Unter Verwendung entweder der ersten beiden code-Zeilen unten ergibt das, was ich Suche. Ich kann die count XPath-Funktion, die entweder mit findvalue oder find aber nicht findnodes (ja, ich weiß, da gibt es eine Liste).

my $node_cnt = $dom->findvalue("count($xpath_str)");  # WORKS!
my $node_cnt = $dom->find("count($xpath_str)");       # WORKS!
my @node_cnt = $dom->findnodes("count($xpath_str)");  # count doesn't work!

Das führt mich zu einer Allgemeinen quälende Frage:
Was ist der Unterschied zwischen den drei find Typen? In der Dokumentation heißt es:

$string = $node->findvalue($xpath)
$result = $node->find($xpath)
@nodes  = $node->findnodes($xpath_expression)
  1. Es ist wirklich ein Unterschied zwischen argument $xpath_expression vs. nur $xpath in der Dokumentation?

  2. Für die beiden Rückkehr ein Skalar, was ist der Unterschied?

Ich versuche zu verstehen, die Bedeutung der Verwendung, eine Art über die andere - danke!!!

InformationsquelleAutor CraigP | 2013-11-06
Schreibe einen Kommentar