C#XDocument保存复制文件并将编辑后附加到end

时间:2013-12-15 18:42:42

标签: c# xml linq-to-xml

当我尝试编辑XML Element并保存它时,它会生成副本(带有编辑元素)并将其附加到文件末尾。

var localStore = IsolatedStorageFile.GetUserStoreForApplication();

IsolatedStorageFileStream stream = new IsolatedStorageFileStream("DataFolder\\PlayerData.xml", FileMode.OpenOrCreate, FileAccess.ReadWrite, localStore);

var doc = XDocument.Load(stream);

doc.Root.Element("characters").Element("character").SetElementValue("expierence", 10);

doc.Save(stream, SaveOptions.None);
stream.Close();

示例输出文件:

<?xml version="1.0" encoding="utf-8"?>
<root>
    <characters>
        <character>
            <expierence>0</expierence>
        </character>
    </characters>
</root><?xml version="1.0" encoding="utf-8"?>
<root>
    <characters>
        <character>
            <expierence>10</expierence>
        </character>
    </characters>
</root>

1 个答案:

答案 0 :(得分:1)

这正是你通过FileMode.OpenOrCreate告诉它的事情 如果要截断任何现有文件,请传递Create

有关详细信息,请参阅documentation