0
<item id=1>
  <name>item1</name>
  <price>30</price>
</item>
<item id=2>
  <name>item2</name>      
</item>

我需要一个 xpath 来仅选择没有 .net 价格的项目。

4

1 回答 1

1

对于您的原始问题:

item[price]

将为您提供所有item具有price子元素的元素。这包括一个空的<price/>,所以如果你想避免匹配

<item>
  <name>item3</name>
  <price></price>
</item>

那么你需要以下之一

item[price/text()]
item[normalize-space(price)]

相反,要仅选择item没有 a 的元素price,您可以使用

item[not(price)]
于 2012-12-07T13:50:48.270 回答