我最近开始学习C#,但使用XML.Linq
来存储数据时遇到了问题。我希望这个问题是可以理解的,因为我还不熟悉所有正确的术语,并且英语不是我的母语。
我读过很多问题/用谷歌搜索,但是我自己也无法弄清楚。
我想更新现有的XDocument文件,如下所示:
<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>
在特定元素中更改值的最简单方法是什么?
假设我要更改特定存档游戏的余额。
我想通过 IdNumber 访问保存游戏(这些数字是唯一的)
然后,我想更改 balance 的值(例如,更改为50),然后将这些更改保存到我的文档中。
最佳答案
随着using System.Xml.Linq;
它成为
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);