我有一个类似于这个的XML结构:
<Header>
<ElementA>
<ElementB>
<ElementC/>
<ElementC/>
</ElementB>
<ElementB/>
</ElementA>
</Header>
Run Code Online (Sandbox Code Playgroud)
其中<ElementB>可能有一系列<ElementC>,或可能没有.
我可以选择<ElementA>有两个<ElementB>by的节点/Header/ElementA/ElementB/following-sibling::ElementB.我可以选择<ElementA>包含一个<ElementB>包含<ElementC>using 的节点的节点/Header/ElementA/ElementB[ElementC].
但我怎么选择<ElementA>其中包含一个节点<ElementB>包含一个<ElementC>紧接着又<ElementB>含有另一种<ElementC>.像这样的东西:
<Header>
<ElementA>
<ElementB>
<ElementC/>
<ElementC/>
</ElementB>
<ElementB>
<ElementC/>
<ElementC/>
</ElementB>
</ElementA>
</Header>
Run Code Online (Sandbox Code Playgroud)
请注意,您不必显式搜索以下兄弟轴.这两个模式将返回相同的结果:
foo[bar/following-sibling::bar]
Run Code Online (Sandbox Code Playgroud)
和
foo[bar[2]]
Run Code Online (Sandbox Code Playgroud)
所以你的模式可以很简单:
/Header/ElementA[ElementB[ElementC][2]]
Run Code Online (Sandbox Code Playgroud)
将找到ElementA具有两个或更多ElementB子元素的元素,每个ElementC子元素都有一个子元素.
| 归档时间: |
|
| 查看次数: |
4281 次 |
| 最近记录: |