1

我需要根据包含节点下方的“B”节点的最大深度返回字符串“A1”或字符串“A2”:

<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 deep”出现来构造一个 XPath 表达式以返回字符串“A1”?

4

1 回答 1

2

后代计算节点的所有子节点。如果您想要 B 节点链,请这样写

/xmlDoc/A[B[B[B]]]
于 2015-08-04T18:28:39.867 回答