如何在C#中更改xml文件的值?
问题描述:
每当我运行程序时,xml文件只是在原始代码上添加其他部分而不是替换它。 这里是我的文件如何在C#中更改xml文件的值?
XML:
<?xml version="1.0" encoding="utf-8" ?>
<stuff>stuff</stuff>
C#:
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
FileStream f = new FileStream(@"C:\ file path", FileMode.Open);
doc.Load(f);
doc.SelectSingleNode("stuff").InnerText = "hi";
doc.Save(f);
}
生成的XML:
<?xml version="1.0" encoding="utf-8" ?>
<stuff>stuff</stuff><?xml version="1.0" encoding="utf-8"?>
<stuff>hi</stuff>
答
我不知道为什么发生这种情况,但我认为这必须处理加载的东西到流中,并将其分配给更多的相同的流。
也许你应该做的简单的方法(即作品):
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Temp\Test.xml");
doc.SelectSingleNode("stuff").InnerText = "hi";
doc.Save(@"C:\Temp\Test.xml");
}
谢谢。我一直在寻找解决这个问题的一段时间。 –