如何在C#中更新XML文件

时间:2012-10-19 14:44:57

标签: c# xmldocument

我有一个XML文件。我想创建一个新节点并将其附加到XML文件的末尾并将其保存回内存。

<IntCal>
  <User>
    <Date>12/09/2012</Date>
    <Client>abcd</Client>
    <Jewellery>Others</Jewellery>
    <ROI>7.5</ROI>
    <Description>Some Description</Description>
  </User>
<IntCal>

我想创建一个新的<User>元素。不知道怎么做。

 XmlDocument xmlDoc = new XmlDocument();
 xmlDoc.Load(xmlFile);
XmlNode root_node;

//XmlNodeList nodeList = xmlDoc.SelectNodes("/IntCal/User");

XmlDocument new_node = new XmlDocument();
root_node = xmlDoc.CreateElement("IntCal");
xmlDoc.AppendChild(root_node);

由于

2 个答案:

答案 0 :(得分:3)

参考:http://msdn.microsoft.com/en-us/library/fw1ys7w6(v=vs.100).aspx

    XmlElement elem = xmlDoc.CreateElement("User");
    xmlDoc.DocumentElement.AppendChild(elem);

如果你想进入LINQ路线,你可以这样做:

XDocument xDoc = XDocument.Load(xmlFile);
xDoc.Element("IntCal")
    .Add(new XElement("User"));

就个人而言,我选择使用XDocument并使用LINQ,但无论哪种方式都有效 参考:http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument.aspx

答案 1 :(得分:2)

XmlDocument 是一所旧学校,为什么不使用 XDocument ,简单易行:

XDocument xDoc = XDocument.Load(xmlFile);
xDoc.Root.Add(new XElement("User", 
                  new XElement("Client", "John"), 
                  new XElement("Jewellery", "Others")));
xDoc.Save(xmlFile);

参考文献:

  1. XDocument or XmlDocument
  2. Performance: XDocument versus XmlDocument