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

本文关键字:节点 属性 获取 linq XML 使用 | 更新日期: 2023-09-27 18:04:51

我有一个包含如下数据的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"answers"DP"。更像是遍历每个节点及其子节点,并在一列中获取每个子节点类型属性值。

Type   Name
CP     EO1
DP     EO2

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

可以使用XDocument

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