在C#中更新现有的XML文件

时间:2016-09-15 19:31:08

标签: c# xml updatexml

我尝试更新这个小的xml示例文件但没有成功。 它没有给我任何错误,但文件保持不变。 有什么想法吗?

由于

XML示例:

<test>
  <user>John Doe</user>
  <user>Jane Doe</user>
</test>

C#代码

 XmlDocument doc = new XmlDocument();
    doc.Load("../../../test.xml");

    XmlNode sNode = doc.SelectSingleNode("/test/user");
    XmlAttribute users = sNode.Attributes["user"];

    if (users != null)
    {             
            string currentValue = users.Value;            
            if (string.IsNullOrEmpty(currentValue))
            {
            users.Value = "Thomas";
            }
    }
    doc.Save("../../../test1.xml");

3 个答案:

答案 0 :(得分:1)

这就是我改变节点内部值的方法:

        XmlNode node= _doc.SelectSingleNode("test/user[1]"); // [index of user node]
        node.InnerText = value;
        _doc.Save(@"path");

答案 1 :(得分:1)

现在完美无缺:

XmlDocument doc = new XmlDocument();
doc.Load("../../../test.xml");

XmlNode node = doc.SelectSingleNode("test/user[1]"); // [index of user node]
node.InnerText = "thomas";

doc.Save("../../../test1.xml");

谢谢

答案 2 :(得分:0)

您的用户节点在XML文件中没有任何属性:

所以users在这里为空:

 XmlAttribute users = sNode.Attributes["user"];

你应该测试sNode!= null

 if (sNode != null){
    ....
 }