繁体   English   中英

如何在C#中更新XML文件

[英]How to update an XML file in C#

我有一个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);

谢谢

参考: 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

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或XmlDocument
  2. 性能:XDocument与XmlDocument

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM