を使用してXML::LibXML
おり、XPath 式で指定されたノードの数を取得する必要があるだけです。
以下の最初の 2 つのコード行のいずれかを使用すると、探しているものが得られます。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!
これは、一般的なしつこい質問につながります: 3 つのタイプの違いは何find
ですか? ドキュメントでは、次のように述べています。
$string = $node->findvalue($xpath)
$result = $node->find($xpath)
@nodes = $node->findnodes($xpath_expression)
引数とドキュメント
$xpath_expression
だけで本当に違いはありますか?$xpath
スカラーを返す 2 つの違いは何ですか?
ある検索タイプを他の検索タイプよりも使用することの重要性を理解しようとしています-ありがとう!