我需要返回字符串“A1”或字符串“A2”,这取决于其包含节点下面的“B”节点的最大深度:
<xmlDoc>
<A>A1
<B>
<B>
<B>
</B>
</B>
</B>
<B>
</B>
</A>
<A>A2
<B>
<B>
</B>
</B>
<B>
<B>
</B>
</B>
</A>
</xmlDoc>
descendant
轴似乎不适合确定B节点的“深度”(例如:/xmlDoc/A[count(descendant::B)>2]
)。包含字符串“A1”的“A”节点的最大“B”节点深度为3,但似乎有4个“后代”“B”节点......
如何根据第一个“A”节点中“B”节点的“3深”出现构造一个XPath表达式来返回字符串“A1”?
答案 0 :(得分:1)
后代计算节点的所有子节点。如果你想要B节点链,那就这样写吧
/xmlDoc/A[B[B[B]]]