将 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>
预期结果为:
- PV 1401
- PV 1425
- PV 1448
当我使用这段代码时,我只得到一个包含所有 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
我有这个 XML 文件,我想将
<?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>
预期结果为:
- PV 1401
- PV 1425
- PV 1448
当我使用这段代码时,我只得到一个包含所有 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