在XML :: XPath中获取NodeSet大小

时间:2014-10-29 10:35:00

标签: perl xpath xml-parsing

我有一个XML,我希望在XML中获得节点集的大小。

XML

<a>
  <b>
    <c>data</c>
    <c>data</c>
    <c>data</c>
  </b>
</a>

我希望 b 标记中的计数 c

my $obj = XML::XPath->new(xml => $xml);
print size(($obj->find('/a/b'));

我无法获得此XML中的c计数

1 个答案:

答案 0 :(得分:3)

size是一种方法,而不是一种功能。此外,您的XPath表达式与b节点匹配,而不是其子节点。

以下作品:

my $cs = $obj->find('/a/b/c');
print $cs->size, "\n";

或更短,没有中间变量:

print $obj->find('/a/b/c')->size, "\n";