【问题标题】:Get NodeSet Size in XML::XPath获取 XML::XPath 中的节点集大小
【发布时间】:2014-12-25 00:35:54
【问题描述】:

我有一个 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 的计数

【问题讨论】:

  • 请注意,XML::XPath 是不完整的并且已经过时了。试试 XML::LibXML。

标签: perl xpath xml-parsing


【解决方案1】:

size 是一个方法,而不是一个函数。此外,您的 XPath 表达式匹配 b 节点,而不是其子节点。

以下作品:

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

或者,更短,没有中间变量:

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

【讨论】:

    猜你喜欢
    • 2014-08-17
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 2011-01-19
    • 2017-10-21
    相关资源
    最近更新 更多