日期:2014-05-17  浏览次数:20514 次

怎么给已有节点添加父节点
现在的XML文件是这样的

<NewsTemplate>
        <name>文章页测试模板</name>
        <url>content.html</url>
        <desc>测试模板</desc>
</NewsTemplate>

想要把他改成

<NewsTemplate>
  <item>
        <name>文章页测试模板</name>
        <url>content.html</url>
        <desc>测试模板</desc>
  </item>
</NewsTemplate>

要怎么操作。最好是用linq to xml
XML LINQ?to?XML

------解决方案--------------------
XmlDocument doc = new XmlDocument();
doc.LoadXml(@"<NewsTemplate><name>文章页测试模板</name><url>content.html</url><desc>测试模板</desc></NewsTemplate>");

XmlNode root = doc.DocumentElement;
// 创建一个新的Item节点
XmlElement elem = doc.CreateElement("Item");
// 把NewsTemplate节点下的元素赋值给它
elem.InnerXml = root.InnerXml;
// 把新的节点所有xml赋值给root节点(其实就是NewsTemplate节点)
root.InnerXml = elem.OuterXml;

// 保存修改
doc.Save(string.Format("c:\\{0}.xml", DateTime.Now.ToString("yyyyMMddHHmmss")));