【发布时间】:2019-12-09 11:13:41
【问题描述】:
我有以下 XML 结构
<?xml version = "1.0" encoding = "UTF-8"?>
<ROOT>
<PGR name="Group1">
<PGR name="SubGroup1.1">
<PGR name="SubGroup1.2">
<PRODUCT></PRODUCT>
</PGR>
</PGR>
</PGR>
<PGR name="Group2">
<PGR name="SubGroup2.1">
<PGR name="SubGroup2.2">
<PGR name="SubGroup2.3">
<PRODUCT></PRODUCT>
</PGR>
</PGR>
</PGR>
</PGR>
</ROOT>
我想要一个 XPath 表达式,它返回名为 SubGroup1.2 和 SubGroup2.3 的 PGR 元素。
因此我写了我在另一个 SO 中找到的以下表达式
evalExpression = "//PGR[count(*)=0]";
这确实适用于第一个 PGR 层次结构,但不适用于第二个。因此,结果集的大小仅为1。
有人能给我一个例子吗?
预期结果
一组2,包含PGR name="SubGroup1.2 & PGR name="SubGroup2.3
【问题讨论】:
-
您选择目标元素的测试是由元素的名称、它们在树中的位置还是由其他因素决定的?
-
姓名和职位
-
姓名部分我了解,但您能更具体地介绍一下职位吗?相对于树中的位置到底是什么位置?元素是否必须同时满足两个条件 - name=x 和 position=y,还是其中之一就足够了?
-
它应该是最后一个
PGR,没有任何后续PGR元素作为子元素。