0

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

谢谢

4

2 回答 2

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

于 2012-10-19T14:48:57.890 回答
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 或 XmlDocument
  2. 性能:XDocument 与 XmlDocument
于 2012-10-19T15:06:35.190 回答