清楚地使用XPath来查找包含给定子元素的元素?

时间:2012-03-28 03:38:55

标签: xml xpath

我有这个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/..

2 个答案:

答案 0 :(得分:3)

改为使用predicate

//CUnit[Race]

答案 1 :(得分:2)

避免使用//伪运算符,因为对于许多XPath引擎,它实现效率非常低(导致遍历上下文节点中的整个子树)。

每当XML文档的结构众所周知时,请使用特定路径。

在这种情况下

/*/CUnit[Race]