Xpath:仅返回包含内容的节点

时间:2015-05-14 09:54:24

标签: xml xpath

当我使用此xpath查询时:

>xpath //XmlFeed/ProductList/Product/ProductGroup

返回1000个结果,这是正确的。然而,在1000个结果中,700个是零元素,例如:

<ProductGroup xsi:nil="true"/>

其余的确有数据:

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

是否可以更改查询以便我只获得不是nil的结果?

3 个答案:

答案 0 :(得分:1)

您可以添加谓词以仅获取具有子元素的ProductGroup

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

答案 1 :(得分:0)

像这样:

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

答案 2 :(得分:0)

这个给你所有没有xsi:nil属性的结果(顺便说一句,它没有检查xsi:nil值本身)。但它可能适合您的问题。

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