Я использую XML::LibXML
, и мне просто нужно получить количество узлов, указанное выражением XPath.
Используя одну из первых двух строк кода ниже, вы получите то, что я ищу. Я могу использовать функцию count
XPath с findvalue
или find
, но не findnodes
(да, я знаю, потому что он возвращает список).
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!
Это приводит меня к общему вопросу:
Какая разница между тремя типами find
? В документации говорится:
$string = $node->findvalue($xpath)
$result = $node->find($xpath)
@nodes = $node->findnodes($xpath_expression)
-
Есть ли разница между аргументом
$xpath_expression
и просто$xpath
в документации? -
Для двух возвращающих скаляр, какая разница?
Я пытаюсь понять значение использования одного типа поиска над другим - спасибо!