我有这个XML:
<Catalog>
<CUnit id="Bd">
<Race value="T1"/>
</CUnit>
<CUnit id="Critter">
</CUnit>
<CUnit id="Ld">
<Race value="T1"/>
</CUnit>
</Catalog>
我想使用XPath来提取具有Race子元素的CUnit元素。有比这更清楚的方法吗?
CUnit/Race/..
答案 0 :(得分:3)
改为使用predicate:
//CUnit[Race]
答案 1 :(得分:2)
避免使用//
伪运算符,因为对于许多XPath引擎,它实现效率非常低(导致遍历上下文节点中的整个子树)。
每当XML文档的结构众所周知时,请使用特定路径。
在这种情况下:
/*/CUnit[Race]