如何修改外部xml文件并将其保存在本地C#
问题描述:
我是C#的新手,想要操作外部xml文件。下面是该文件:如何修改外部xml文件并将其保存在本地C#
<results>
<root />
<category id="" title="" />
<category />
<category />
</results>
我想这个修改是这样的:
<results>
<root />
<categories>
<category id="" title=""/>
<category />
<category />
</categories>
</results>
答
XElement elem = XElement.Parse(xml);
elem = new XElement("results",
new XElement("root", elem.Element("root").Value),
new XElement("categories", elem.Descendants("category"))
);
答
这工作,它将替换所有命名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>);
答
理想情况下,XML可以使用XSLT转化。在XSLT transforation基本可以在下面找到,
http://support.microsoft.com/kb/307322
使用XSLT让你的解决方案或代码更易于管理。希望这可以帮助
请改善您的答案,这不会帮助 – rekire
是的,我会尝试修复 – Khurshid