-1

我试图更新这个小的 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");
4

3 回答 3

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");

谢谢

于 2016-09-15T20:00:12.750 回答
1

这就是我更改节点内值的方式:

        XmlNode node= _doc.SelectSingleNode("test/user[1]"); // [index of user node]
        node.InnerText = value;
        _doc.Save(@"path");
于 2016-09-15T19:38:02.820 回答
0

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

所以users这里是空的:

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

您应该测试是否 sNode != null

 if (sNode != null){
    ....
 }
于 2016-09-15T19:38:10.837 回答