使用linq查找具有属性的父级

时间:2017-07-10 12:39:52

标签: c# xml linq

我有以下XML

<Configuration>
    <Organisation Count="2">        
        <ID>1234</ID>    
        <UKPRN Count = "2">
            <NAME>
                <FIRST>abcd</FIRST>
                <LAST>efgh</LAST>   
            </NAME>     
        </UKPRN>            
    </Organisation>
</Configuration>

我试过这个

var test = root.Elements().Where(p => p.Attribute("Count") != null).Select(p => p.Descendants("FIRST"));

但这是错误的方式。无法理解如何掌握父母。

如何使用linq识别具有属性Count的最近父元素,例如元素FIRST应返回UKPRN,元素ID应返回Organisation

1 个答案:

答案 0 :(得分:2)

您可以使用Ancestors()方法获取所有父母,并选择具有您所需属性的第一个父母:

splitAsStream