如何从 XML 文件中过滤元素

Posted

技术标签:

【中文标题】如何从 XML 文件中过滤元素【英文标题】:How to filter elements from XML file 【发布时间】:2021-10-28 23:54:19 【问题描述】:

我可以将 xml 文件读取到控制台。但我只需要 xml 文件中的一些元素。喜欢 发件人姓名、邮政编码、重量和价值。因为现在返回了 xml 文件中的所有元素。

【问题讨论】:

【参考方案1】:

你可以试试XDcoumentLINQ

XDocument xdoc = XDocument.Load($"XMLFile1.xml");

var items = xdoc.Descendants("Parcel")
                .Select(xelem => new
                
                    Name = xelem.Element("Sender").Element("Name").Value,
                    PostalCode = xelem.Element("Sender").Element("Address").Element("PostalCode").Value,
                    Weight = xelem.Element("Weight").Value,
                    Value = xelem.Element("Value").Value
                );

foreach (var item in items)

    Console.WriteLine($" item.Name -  item.PostalCode -  item.Weight -  item.Value");

【讨论】:

谢谢。但是我不需要所有其他代码?因为如果我运行你的脚本,我只会得到这个名字:Klaas ykken groot B.V. seti Aad @mightycodeNewton 你不需要任何其他代码。我已经更新了帖子以获得所需的内容。 @mightycodeNewton,已经更新了很多简化的版本。请看一下

以上是关于如何从 XML 文件中过滤元素的主要内容,如果未能解决你的问题,请参考以下文章

如何从xml文件中获取嵌套元素

C#如何从xml文件中获取所有元素名称

如何从元素中具有相同名称的 xml 文件中获取特定值?

如何按元素内容过滤解析的 XML 数据 [jQuery]

如何使用 XSLT 从 XML 中删除元素标记

如何单击元素并从链接的 xml 文件(python)中解析文本?