2017-04-21 90 views
0

我出外Xpath的查找最後非無元素

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

我的要求是找到的最後一個節點,這是「不可無」這裏一個Xml ..

我試着「/節點1/Node2 [last()] // Node3ChildNode/text()',但這裏最後一個節點是空的,所以要默認到前一個節點。 什麼是通過Xpath做到這一點的最佳方式?

回答

0

選擇最後一個節點3不爲空ChildNode

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

或者從所有非空ChildNode

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

的Tx很多@ splash58的迅速反應選擇最後一個。這就是它! – Vishi