选择-Linq到xml的所有属性值

时间:2017-07-28 18:28:07

标签: c# xml linq

<Content>
    <Field Title="123">
        <Description>...</Description>
        <Comment>...</Comment>
    </Field>
    <Field Title="654">
        <Description>....</Description>
        <Comment>...</Comment>
    </Field>
    <Field Title="789">
        <Description>...</Description>
        <Comment>...</Comment>
    </Field>
    <Field Title="210">
        <Description>...</Description>
        <Comment>...</Comment>
    </Field>    
</Content>

嗨,我想使用Linq将所有字段节点属性Title值提取到列表中。所以列表必须包含“123”,“654”,“789”,“210”任何人都可以给我一个解决方案吗?

我试过了:

var fldLst = from myEl in myXmlDoc.Root.Descendants() 
         where myEl.Name.LocalName 
         select (string)myEl.Attribute("title"); 

其中myXmlDoc是XML文档。

1 个答案:

答案 0 :(得分:0)

您需要使用DescendantsAttribute方法:

var result= doc.Descendants("Field").Select(e=>(string)e.Attribute("Title")).ToList();