2012-09-27 40 views
1

我是C#的新手,想要操作外部xml文件。下面是該文件:如何修改外部xml文件並將其保存在本地C#

<results> 
    <root /> 
    <category id="" title="" /> 
    <category /> 
    <category /> 
</results> 

我想這個修改是這樣的:

<results> 
    <root /> 
    <categories> 
     <category id="" title=""/> 
     <category /> 
     <category /> 
    </categories> 
</results> 

回答

0
 XElement elem = XElement.Parse(xml); 
     elem = new XElement("results", 
      new XElement("root", elem.Element("root").Value), 
      new XElement("categories", elem.Descendants("category")) 
      );    
+5

請改善您的答案,這不會幫助 – rekire

+0

是的,我會嘗試修復 – Khurshid

2

這工作,它將替換所有命名category的元素的根元素下直接找到的(根元素是results)並添加了名爲categories的新元素。 category元素然後被添加到categoriescategory元素被從results元素下移除。最後添加categories元素。您也可以通過調用它的Save方法保存文檔:

 XDocument doc = XDocument.Load("Data.xml"); 

     var categoriesElement = new XElement("categories"); 

     var categoryElements = doc.Root.Elements("category"); 
     foreach(var el in categoryElements.ToList()) 
     { 
      categoriesElement.Add(new XElement(el)); 
      el.Remove(); 

     } 

     doc.Element("results").Add(categoriesElement); 
     //doc.Save(<filepath>); 
相關問題