c# - 使用linq to xml遍历xml树中的每个元素

标签 c# .net xml linq-to-xml

我想遍历 xml 中的每个元素和属性,并在事先不知道元素名称的情况下获取名称和值。我什至有一本关于 linq to xml with C# 的书,它只告诉我如何在我已经知道元素名称的情况下查询以获取元素的值。

下面的代码只给我最高级的元素信息。我还需要到达所有下降元素。

            XElement reportElements = null;
            reportElements = XElement.Load(filePathName.ToString());


            foreach (XElement xe in reportElements.Elements())
            {

                MessageBox.Show(xe.ToString());
            }

最佳答案

Elements 只走一层; Descendants 遍历整个 DOM 以查找元素,然后您可以(按元素)检查属性:

    foreach (var el in doc.Descendants()) {
        Console.WriteLine(el.Name);
        foreach (var attrib in el.Attributes()) {
            Console.WriteLine("> " + attrib.Name + " = " + attrib.Value);
        }
    }

关于c# - 使用linq to xml遍历xml树中的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1738877/

相关文章:

c# - asp net mvc 5 中的授权帮助

c# - 在不重新创建模型的情况下在 WCF 服务中使用 Entity Framework 类

c# - 在 Visual Studio 中管理本地与云开发配置设置的选项

.net - 如何从 MSBuild 指定规则集

c# - 处理线程中 catch block 内抛出的异常的最佳实践。 (。网)

c# - 在 C# 中连接到无线网络

c# - 如何使 XmlSerializer 默认生成属性而不是元素

java - 使用java dom解析器进行XML解析将xml声明转换为元素

c# - XPath 未按预期工作

xml - 在 Perl 中从 XML 文件中提取一些元素值的最快方法是什么?