日期:2014-05-18  浏览次数:20972 次

C#中如何重写XML文件
我使用XmlDocument xmldoc=new XmlDocument();创建了一个XmlDocument对象

然后在添加了元素和text后,点击保存按钮使用xmldoc.Save(file);保存文件

文件的内容都是通过结构体数组一次性写入,当我更改结构体数组中的数据,再保存数据时他会在原文件尾继续全部重写这些数据。我想把之前的文件已有的数据清空,然后再写入数据,不知道有什么好的方法

请注意:这里的要求是重写XML文件(先清空以前的全部数据,再写入新数据)

------解决方案--------------------
你可能是Append进数据的吧,可以这样:
xmlDoc.DocumentElement.InnerXml = "";
这样除根元素外,所有其他数据都清空。
然后再Append到根元素下。
------解决方案--------------------
重新XmlDocument xmldoc=new XmlDocument();写入数据,然后保存,覆盖掉原来的??
------解决方案--------------------
根元素貌似没法删除,删除根元素会报错。

另一种思路是:重新生成一个xml文档,先删除原xml文件,再以原文件名Save。
------解决方案--------------------
探讨

引用:

根元素貌似没法删除,删除根元素会报错。

另一种思路是:重新生成一个xml文档,先删除原xml文件,再以原文件名Save。


我是开始点保存按钮时,输入文件名后保存文件。按你说的如何重新一个xml文档呢,再者我好想还没有找到删除XMl文件的方法,该如何删除呢?

------解决方案--------------------
xmlDoc.Save(xmlFileName); 会把新的DOM内容保存到文件!
------解决方案--------------------
删除根元素下的所有节点,将新添加的节点追加到根元素下,调用Save方法
------解决方案--------------------
探讨
引用:

xmlDoc.Save(xmlFileName); 会把新的DOM内容保存到文件!


是的 ,有好的方法吗