循环使用XML文档

Jos*_*Zyl 4 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);
        }
Run Code Online (Sandbox Code Playgroud)

我的Xml Doc

<?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>
Run Code Online (Sandbox Code Playgroud)

现在我的方法返回前2个,没有别的.我究竟做错了什么...

El *_*oco 15

useSystem.Xml命名空间,以避免长时间型资格IE浏览器...

    using System.Xml;
Run Code Online (Sandbox Code Playgroud)

然后尝试这样的事情..

    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);
    }
Run Code Online (Sandbox Code Playgroud)

我相信你的方法有问题.

a)我认为不SelectNodes应该采取/config论据,而应该采取config.

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