Home > DeveloperSection > Forums > C# XDocument Save copy file and appends edited to end
Samuel Fernandes
Samuel Fernandes

Total Post:154

Points:1082
Posted on    December-18-2013 1:11 AM

 C# C# 
Ratings:


 1 Reply(s)
 1882  View(s)
Rate this:

When I'm trying to edit XML Element and save it, it generates copy (with edited element) and appends it to end of file.

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();

Example output file:

<?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>



ezra heywood
ezra heywood

Total Post:145

Points:1019
Posted on    December-18-2013 1:36 AM

Hi Samuel,

That's exactly what you told it to do by passing FileMode.OpenOrCreate.

If you want to truncate any existing file, pass Create.


Don't want to miss updates? Please click the below button!

Follow MindStick