I recently started learning C# and I ran into a problem using XML.Linq
to store data. I hope the question is understandable as I am not familiar with all the correct terms yet and as English isn't my first language.
I read a lot of Questions/googled but I can not figure it out myself.
I want to update an existing XDocument File that looks like this:
<Data> <IDCounter>2</IDCounter> <Highscores> ....... </Highscores> <savegames> <savegame> <IdNumber>1</IdNumber> <salutation>Mr</salutation> <prename>Prename1</prename> <surname>Surname1</surname> <maximumbalance>100</maximumbalance> <balance>100</balance> </savegame> <savegame> <IdNumber>2</IdNumber> <salutation>Mr</salutation> <prename>Prename2</prename> <surname>Surname2</surname> <maximumbalance>100</maximumbalance> <balance>100</balance> </savegame> </savegames> </Data>
What is the easiest way to change a value in a specific Element?
Let's say I want to change the balance of a specific savegame.
I want to access the savegame by IdNumber (these numbers are unique)
Then I want to change the value of balance (for example to 50) and then save these changes to my document.
With using System.Xml.Linq;
it becomes
var doc = XElement.Load(fileName); var saveGame = doc .Element("savegames") .Elements("savegame") .Where(e => e.Element("IdNumber").Value == "2") .Single(); saveGame.Element("balance").Value = "50"; doc.Save(fileName);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With