c# - 遍历 XML 文档

标签 c# xml

我的方法:


if (File.Exists( @"C:\config.xml"))
   {
    System.Xml.XmlDocument xd = new System.Xml.XmlDocument();
    xd.Load( @"C:\config.xml");
    System.Xml.XmlElement root = xd.DocumentElement;
    System.Xml.XmlNodeList nl = root.SelectNodes("/config");
    foreach (System.Xml.XmlNode xnode in nl)
    {
        string name = xnode.Name;
        string value = xnode.InnerText;
        string nv = name + "|" + value;
        Send(nv);
        }

我的 Xml 文档

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<config>
<bla>D</bla>
<def>300</def>
<ttOUT>34000</ttOUT>
<num>3800</num>
<pw>help</pw>
<err>1</err>
....and so on
</config>

现在我的方法只返回前 2 个。 我做错了什么......

最佳答案

使用 System.Xml 命名空间来避免长类型限定,即...

    using System.Xml;

然后尝试这样的事情..

    XmlNodeList nl = xd.SelectNodes("config");
    XmlNode root = nl[0];

    foreach (XmlNode xnode in root.ChildNodes)
    {
        string name = xnode.Name;
        string value = xnode.InnerText;
        string nv = name + "|" + value;
        Send(nv);
    }

我认为您的方法有问题。

a) 我不认为 SelectNodes 应该采用 /config 参数,而应该采用 config

b) 选择第一个(也是唯一一个 - .Net 中的 XML 文件必须有一个且只有一个根节点)根节点后,您需要遍历根的 ChildNodes

关于c# - 遍历 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4757122/

相关文章:

c# - 如何创建一个基于xsd文件接收和发送xml的web服务?

java - persistence.xml 从 .properties 文件导入数据库参数值

sql - 连接分组的行

c# - Linq 查询中的 If 语句

c# - 从 asp.net POST 方法返回 JSON 时出现 "Unable to translate Unicode character\\uD83C"错误

c# - 需要 TDD 方法的想法

"any one or more of these elements but must be at least one"的 XML 架构构造

c# - 带有 Visual Studio Express 的 VSTO Excel 加载项

c# - 通过非制表符定界符的非结构化 XML?

php - 加载数据本地内嵌文件