加载XML并向其添加节点

时间:2013-05-12 21:20:15

标签: c# xml winforms

我想要做的是当我按下一个按钮时,我加载一个XML文件并尝试向其添加节点。

XmlDocument doc = new XmlDocument();
doc.Load("XMLFILE.xml"); 
XmlNode Tag1 = doc.CreateElement("Tag1");
XmlNode Tag2 = doc.CreateElement("Tag2");
Tag2.InnerText = food.Text;
Tag1.AppendChild(Tag2);

XmlNode Tag3 = doc.CreateElement("Tag3");
Tag3.InnerText = games.Text;
Tag1.AppendChild(Tag3);

XmlNode Tag4 = doc.CreateElement("Tag4");
Tag4.InnerText = life.Text;
Tag1.AppendChild(Tag4);

当我运行代码并单击按钮时,文件为空,只有1个标签,这是我在第一次创建文件时创建的标签。那么如何加载XML并添加它呢?

1 个答案:

答案 0 :(得分:2)

您发布的代码存在两个问题:

  1. 您创建了一堆XML节点,但我没有看到您实际将它们添加到您加载的文档中的任何位置。如果您希望新节点出现在XML树中,则需要在AppendChild()或文件中已有的其他节点上调用DocumentElement

  2. 您的代码正在将XML文档从磁盘加载到内存中并对其进行编辑,但您永远不会再将XML文档存储回磁盘。如果您希望将更改保留回文件,则需要在更新的文档上调用Save()