Xpath。如何指定两个节点之间的节点?
问题描述:
可以有两个可能的结构:Xpath。如何指定两个节点之间的节点?
1.
<c>TTTT</c>
<a>AAAA</a>
<b>BBBB</b>
<c>CCCC</c>
<d>DDDD</d>
<c>CCCC</c>
2.
<c>TTTT</c>
<a>AAAA</a>
<b>BBBB</b>
<d>DDDD</d>
<c>CCCC</c>
我怎样才能在第一种情况下选择节点<c>
<b>
后,如果它是第二壳体,将它设置为空?
答
可以使用following-sibling
轴用于此目的:
//b/following-sibling::*[1][self::c]
简要说明:
b/following-sibling::*[1]
:获得直接兄弟下一个<b>
[self::c]
:检查是否是兄弟姐妹是<c>
元素
你能发表一个xml/html的例子吗? – Paxic
我一般都认同 - 但是一个示例可以更容易地将工具和测试结果放入工具中,而不是假设用户的模式和数据。或者我正在思考这个问题。 – Paxic
@Geohut Paxic之前对问题进行了评论,格式正确,以显示XML示例,只是为了清楚情况。另外,在xpath中的“b之后”是'b/following-sibling :: someNode',这是完全可能的,虽然* 2个节点之间*有时是不可能的 – har07