C# 如何修改外部xml文件并在C中本地保存#

C# 如何修改外部xml文件并在C中本地保存#,c#,asp.net,.net,xml,C#,Asp.net,.net,Xml,我是C#新手,希望操作外部xml文件。这是文件: <results> <root /> <category id="" title="" /> <category /> <category /> </results> 我希望对其进行如下修改: <results> <root /> <categories> <

我是C#新手,希望操作外部xml文件。这是文件:

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

我希望对其进行如下修改:

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

此操作有效,它将替换直接在根元素下找到的所有名为
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>);
XDocument doc=XDocument.Load(“Data.xml”);
var categoriesElement=新的XElement(“类别”);
var categoryElements=doc.Root.Elements(“类别”);
foreach(categoryElements.ToList()中的变量el)
{
添加(新元素(el));
el.移除();
}
文档元素(“结果”)。添加(分类元素);
//doc.Save();

理想情况下,可以使用xslt转换xml。xslt转换的基础知识可以在下面找到


使用xslt使您的解决方案或代码更易于管理。希望这有帮助

请改进您的答案这没有帮助
        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>);