使用linq从xml获取不同节点的属性值

时间:2011-08-08 04:17:22

标签: c# linq-to-xml

我有一个包含如下数据的xml文件

   <P1 type="CP" name="E01+W">
    <DNo>4423</DNo>
    <CNo>abc</CNo>
  </P1>

    <P2 type="DP" name="E02+W">
    <DNo>5623</DNo>
    <CNo>xyz</CNo>
  </P2>

如何在一列中获取P1和P2节点的属性值类型=“CP”和“DP”。 更像是遍历每个节点及其子节点,并在一列中获取每个子节点类型属性值。

Type   Name
CP     EO1
DP     EO2

1 个答案:

答案 0 :(得分:1)

您可以使用XDocument

var xml = XDocument.Parse([string]);
xml.Elements().Select( x => new { Type = x.Attribute("type").Value, 
                                  Name =  .Attribute("Name").Value});