Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言更新现有的XML文件#_C#_Xml_Updatexml - Fatal编程技术网

C# 用C语言更新现有的XML文件#

C# 用C语言更新现有的XML文件#,c#,xml,updatexml,C#,Xml,Updatexml,我试图更新这个小xml示例文件,但没有成功。 它没有给我任何错误,但该文件保持不变。 有什么想法吗 谢谢 XML示例: <test> <user>John Doe</user> <user>Jane Doe</user> </test> 这就是我在节点内更改值的方式: XmlNode node= _doc.SelectSingleNode("test/user[1]"); // [index of

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

谢谢

XML示例:

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

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

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

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

因此,
用户
在此为空:

 XmlAttribute users = sNode.Attributes["user"];
您应该测试sNode!=空的

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

这一点现在非常有效:

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

谢谢你

sNode.Attributes[“user”]
你的xml不包含用户属性知道吗,我刚刚注意到我没有属性,但Timon Post的解决方案正是我所寻找的,它工作得非常完美。
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");