2015-05-14 115 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)]