xml - XPATH 1.0 - 计算节点在 XML 文档中出现相同值的次数
问题描述
我有一个看起来像这样的文件:
<Subdocument Label="Subdocument">
<Lines Label="Lines">
<Line>
<ITEM>AAA</ITEM>
</Line>
</Lines>
</Subdocument>
<Subdocument Label="Subdocument">
<Lines Label="Lines">
<Line>
<ITEM>AAA</ITEM>
</Line>
</Lines>
</Subdocument>
<Subdocument Label="Subdocument">
<Lines Label="Lines">
<Line>
<ITEM>BBB</ITEM>
</Line>
</Lines>
</Subdocument>
<Subdocument Label="Subdocument">
<Lines Label="Lines">
<Line>
<ITEM>BBB</ITEM>
</Line>
</Lines>
</Subdocument>
有没有办法使用重复值在文档中出现多少次的计数语法来编写 XPath 1.0?预期的结果是 AAA 出现了 2 次。
解决方案
下面的 XPath 表达式可以完成这项工作:
count(.//*[text()='AAA'])
但请注意,您示例中的 XML 在语法上不正确(“子文档”元素应包含在某个根元素中)。
推荐阅读
- arduino - Arduino IDE 中从 int 到 char* 的无效转换
- unit-testing - 如何验证在飞镖单元测试中作为参数传递的函数
- javascript - MongoDB 无法获取所有数据
- python - 从字符串中删除子字符串,如 lstrip 但不是单个字符
- delphi - Delphi DunitX,我如何获得当前正在运行的测试的名称?
- java - 仅当字符串包含字母、数字、空格或逗号时才打印字符串
- algorithm - 寻找最长交替序列长度的动态算法
- amazon-web-services - 如何在不使用预签名 URL 的情况下在 s3 私有存储桶中公开 s3 对象
- java - 将 Web 应用升级到 Spring Boot 2.4 后出现 IllegalStateException
- python - 如何将两个json文件合并为一个?