C#XDocument保存副本文件并将编辑后的附件添加到末尾

C#XDocument保存副本文件并将编辑后的附件添加到末尾,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,当我试图编辑XML元素并保存它时,它会生成副本(使用已编辑的元素)并将其附加到文件的末尾 var localStore = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream stream = new IsolatedStorageFileStream("DataFolder\\PlayerData.xml", FileMode.OpenOrCreate, FileAccess.ReadWrit

当我试图编辑XML元素并保存它时,它会生成副本(使用已编辑的元素)并将其附加到文件的末尾

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>

0
10

这正是您通过传递
FileMode.open或create

如果要截断任何现有文件,请传递
Create


有关详细信息,请参阅。

当我将其更改为“创建”时,它将创建空文档。@user2948474:你说得对;我没注意到你也在看。在保存之前调用
SetLength(0)