C#LINQ to XML - 如何将特定的XElements写入文件

时间:2012-07-26 08:41:28

标签: c# xml

我想知道如何将XDocument的特定部分写入文件。

假设我在应用程序启动时加载整个文档,然后使用应用程序加载读取设置。当我修改我的类的属性时,我希望将JUST THAT PROPERTY(或者只是该属性及其子项)写回文件,保持对XDocument的任何其他修改(在内存中) < / p>

我当前的代码如下所示(注意我有一些围绕XDocument和XElement类的包装器):

    public void SaveRecursiveData()
    {
        //Load the original file into a new document
        XmlConfig tmp = new XmlConfig(_XmlDoc.Filename,false);

        //find the node i am interested in
        XElement currentElement = tmp.Xmldoc.XPathSelectElement(this.Path);

        //Replace it with my IN MEMORY one
        currentElement.ReplaceWith(_XmlNode);

        //Write the whole temporary document back to the file 
        tmp.Save(); 
    }

这是最好的方法还是有另一种方式?

1 个答案:

答案 0 :(得分:-1)

你可以做到

currentElement.Attribute("toChange").Value = "mynewvalue";

而不是ReplaceWith