c# - 在 XDocument 中编辑特定元素

标签 c# xml linq

我最近开始学习 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);

关于c# - 在 XDocument 中编辑特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18508765/

相关文章:

c# - 如何使用 EnvDTE 在 vi​​sual studio 中添加指向文件的链接

c# - 使用键值数组访问字典

c# - linq orderby 中的过滤值

c# - GroupPrincipal 重命名组

c# - 在 3 个逗号后添加换行符

c# - 如何在C#中复制文件

c# - 你想在 CMS 中做什么?

Python xml 到 csv

python - HTML 清理代码不太有效

android - 打包APK后是否可以编辑Androidmanifest.XML?