0

这是 XML 文档

 <CT>
  <CHILD 1>  10   </CHILD 1>
  <CHILD 2>   20    </CHILD 2>
 </CT>

  <TH>
    <CHILD 3> 100   </CHILD 3>
    <CHILD 4> 200   </CHILD 4>
 </TH>

  <CT>
  <CHILD 1>  30  </CHILD 1>
  <CHILD 6>  40  </CHILD 6>
 </CT>

  <TH>
    <CHILD 7>  300  </CHILD 7>
    <CHILD 8>  400  </CHILD 8>
 </TH>

我想获取使用以下 xpath root/parent/th../ct/child1 的值 30

我无法更改根据我的要求固定的 root/parent/th,但我可以从 ../ct/child1 开始更改 xpath 的其余部分

4

1 回答 1

0

您的 xpath 表达式中有错误:不是 /th../ 而是 /th/../

此外, /root/parent/th 选择了两个 th 元素,并且不清楚应该使用哪个元素,因为它们都具有前面的 ct 和 child1 孩子。

直截了当的答案是

/root/parent/TH[last()]/preceding-sibling::CT[1]/CHILD1

即最后一个TH 的第一个前面的兄弟元素CT。

但要获得更有用的答案,我们需要更多信息。

于 2014-11-27T08:50:03.527 回答