2015-05-14 69 views
0

只返回節點時,我用這個XPath查詢:的Xpath:與內容

>xpath //XmlFeed/ProductList/Product/ProductGroup 

1000返回結果,這是正確的。然而,1000個結果中,700是零元素,如:

<ProductGroup xsi:nil="true"/> 

,其餘確實有數據:

<ProductGroup> 
<ID>100</ID> 
<Description>Something cool</Description> 
</ProductGroup> 

是否有可能更改查詢,這樣我只得到結果不是零?

回答

1

您可以添加謂詞來僅ProductGroup有子元素(S):

//XmlFeed/ProductList/Product/ProductGroup[*] 
0

像這樣:

//XmlFeed/ProductList/Product/ProductGroup[*!=''] 
0

這個人給你不具有在xsi:nil屬性的所有結果所有(順便說一句,它不檢查xsi:nil價值本身)。但它可能適合你的問題。

//XmlFeed/ProductList/Product/ProductGroup[not(@xsi:nil)]