c# - 将具有属性的 XML 元素写入列表
问题描述
我有这个 XML 文件,并希望将所有带有 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>
预期的结果是:
- 光伏 1401
- 光伏 1425
- 光伏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);
输出:
光伏 1401
光伏 1425
光伏 1448
推荐阅读
- javascript - 如何正确设置 Bootstrap 幻灯片
- python - 如何在 Discord Gateway Websocket 上发送 JSON 有效负载识别
- amazon-ec2 - Cloudify 文件插件“不允许操作”错误
- sql - SQL Server 数据库完整备份脱机
- php - 高级自定义字段库的 wp_query
- javascript - 在javascript中检测图像
- ruby-on-rails - Ruby on Rails 和 ActiveAdmin:一次添加所有对象,而不是一一添加
- c - 在 macOS 上从 dev_t 获取设备文件系统路径
- matlab - 我可以用复数像素值保存图像吗
- c++ - 如何使用从 Swift 代码调用的线程在 C++ 上创建异步调用函数?