将 XML 个具有属性的元素写入列表

Write XML Elements with attribute to list

我有这个 XML 文件,我想将 下具有属性 Name="TL 52146" 的所有带有 MGU 标签的值写入列表:

<?xml version="1.0" encoding="utf-8"?>
<Normen>
  <Norm Name="TL 52146">
    <MGU>PV 1401</MGU>
    <MGU>PV 1425</MGU>
    <MGU>PV 1448</MGU>
  </Norm>
</Normen>

预期结果为:

当我使用这段代码时,我只得到一个包含所有 MGU 的列表元素,但我希望每个 MGU 都是我列表中的一个单独条目:

XDocument doc = XDocument.Load("data/data.xml");
var ChildsOfNorm = from element in doc.Descendants("Norm")
                   where element.Attribute("Name").Value == "TL 52146"
                   select element;

有人可以帮我吗?

我会将代码更改为以下内容:

var ChildsOfNorm = doc
     .Descendants("Norm")
     .Where(e => e.Attribute("Name").Value == "TL 52146")
     .Elements();

如果您只想获取 MGU 个元素,请将 Elements() 调用更改为 Elements("MGU")

这应该得到所有想要的元素。

与给定的xml

foreach (var v in ChildsOfNorm)
    Console.WriteLine(v.Value);

输出:

PV 1401
PV 1425
PV 1448