【发布时间】:2010-09-11 11:03:54
【问题描述】:
是否可以使用 XPath 仅选择具有特定子元素的节点?例如,从这个 XML 中,我只想要 pets 中具有“bar”子项的元素。因此,生成的数据集将包含此示例中的 lizard 和 pig 元素:
<pets>
<cat>
<foo>don't care about this</foo>
</cat>
<dog>
<foo>not this one either</foo>
</dog>
<lizard>
<bar>lizard should be returned, because it has a child of bar</bar>
</lizard>
<pig>
<bar>return pig, too</bar>
</pig>
</pets>
这个 Xpath 给了我所有的宠物:"/pets/*",但我只想要有一个名为 'bar' 的子节点的宠物。
【问题讨论】:
-
不要低估 w3c 规范的可读性和实用性。在w3.org/TR/xpath">the规范中查找此类问题的答案可能会更快,该规范非常易读且完整,有很多示例。