Xpath查找最后一个非空元素

时间:2017-04-21 10:57:03

标签: xpath

我有一个类似

的Xml
<Node1>
<Node2 name = "A" >
  <Node3>
    <ChildNode>blah blah</ChildNode>
  </Node3>
</Node2>    
<Node2 name = "B" >
  <Node3>
    <ChildNode></ChildNode>
  </Node3>
</Node2>
</Node1>

我的要求是在这里找到最后一个节点“Not None”..

我试过'/ Node1 / Node2 [last()] // Node3ChildNode / text()'但是这里最后一个节点是空的,所以要默认为上一个节点。 通过Xpath做到这一点最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

选择最后一个非空ChildNode的节点3

(/Node1/Node2[Node3/ChildNode/text()])[last()]/Node3/ChildNode/text()

或者从所有非空的ChildNode中选择最后一个

(/Node1/Node2/Node3/ChildNode/text())[last()]