我是C#的新手,想要操作外部xml文件。这是该文件:
<results>
<root />
<category id="" title="" />
<category />
<category />
</results>
我希望将其修改为:
<results>
<root />
<categories>
<category id="" title=""/>
<category />
<category />
</categories>
</results>
答案 0 :(得分:2)
这很有效,它取代了直接在根元素下找到的所有名为category
的元素(根元素为results
),并添加了名为categories
的新元素。然后会将category
个元素添加到categories
,并从category
元素下删除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>);
答案 1 :(得分:0)
XElement elem = XElement.Parse(xml);
elem = new XElement("results",
new XElement("root", elem.Element("root").Value),
new XElement("categories", elem.Descendants("category"))
);
答案 2 :(得分:0)
理想情况下,可以使用xslt转换xml。关于xslt transforation的基础知识可以在下面找到,
http://support.microsoft.com/kb/307322
使用xslt使您的解决方案或代码更易于管理。希望这有帮助