XPath只返回特定的子节点,但与父节点 - 可能吗?

时间:2013-03-07 15:28:46

标签: c# .net xml xpath

说我有这样的XML:

<Entity>
    <Record name="My Record 1" id="3a41b5c1-2462-e211-8a1c-005056b02dd2" count="1">
        <Data name="ec_name" value="My Name 1" linked="false" />
        <Data name="ec_allteams" value="100000000" linked="false" />
        <Data name="ec_teamtype" value="100000001" linked="false" />
    </Record>
    <Record name="My Record 2" id="3a41b5c1-2462-e211-8a1c-005056b02dd3" count="2">
        <Data name="ec_name" value="My Name 2" linked="false" />
        <Data name="ec_allteams" value="100000002" linked="false" />
        <Data name="ec_teamtype" value="100000003" linked="true" />
    </Record>
    <Record name="My Record 3" id="3a41b5c1-2462-e211-8a1c-005056b02dd4" count="3">
        <Data name="ec_name" value="My Name 3" linked="false" />
        <Data name="ec_allteams" value="100000004" linked="false" />
        <Data name="ec_teamtype" value="100000005" linked="false" />
    </Record>
</Entity>

只返回链接='true'的Record + Data子节点的XPath是什么?例如,我想得到以下结果:

    <Record name="My Record 2" id="3a41b5c1-2462-e211-8a1c-005056b02dd3" count="2">
        <Data name="ec_teamtype" value="100000003" linked="true" />
    </Record>

这在XPath中是否可行?

2 个答案:

答案 0 :(得分:3)

不可能完全确定,但你可以获得数据节点,然后读取它的父节点:

数据节点:/Entity/Record/Data[@linked='true']

记录包含链接= true的孩子的节点:/Entity/Record[Data/@linked='true']

答案 1 :(得分:0)

获取链接= true的所有数据节点

//Data[@linked='true']

获取link = true的父级

//Data[@linked='true']/..

这将返回已链接= true

的父节点和子节点
//Data[@linked='true']//parent
相关问题