13

を使用してXML::LibXMLおり、XPath 式で指定されたノードの数を取得する必要があるだけです。

以下の最初の 2 つのコード行のいずれかを使用すると、探しているものが得られます。countXPath 関数は、どちらでも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!

これは、一般的なしつこい質問につながります: 3 つのタイプの違いは何findですか? ドキュメントでは、次のように述べています。

$string = $node->findvalue($xpath)
$result = $node->find($xpath)
@nodes  = $node->findnodes($xpath_expression)
  1. 引数とドキュメント$xpath_expressionだけで本当に違いはありますか?$xpath

  2. スカラーを返す 2 つの違いは何ですか?

ある検索タイプを他の検索タイプよりも使用することの重要性を理解しようとしています-ありがとう!

4

1 に答える 1