更新XML文件中的特定内容
本文关键字:XML 文件 更新 | 更新日期: 2023-09-27 18:20:53
我正在尝试创建一个更新XML文件中内容的工具。我最大的问题是如何让程序知道在哪里更新什么。
下面是XML文件的前五行的示例。
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="280" manacost="0">
<health now="8200" max="8200"/>
<look type="35" corpse="5995"/>
<targetchange interval="5000" chance="10"/>
假设我想改变经验的价值,我该怎么做?我在这个网站上浏览了一下已有的说明,但没有一条与此相关。
我使用的是C#Windows窗体。
使用Linq到Xml可以:
XDocument xdoc = XDocument.Load(path_to_xml); // load xml file
// query for data you want to update
var experience = xdoc.Root.Attribute("experience");
experience.SetValue(42); // update data
xdoc.Save(path_to_xml); // save updated data
有很多方法可以做到这一点:
-
使用XMLDocument和.Net中的其他内置类。您可以打开文件并将XML加载到类中,然后使用XPath获取属性。这与@lazybrezovsky的回答类似。
-
hack-y的解决方案是对文件的文本进行字符串解析。查找
experience="
,并注意,从中和下一个"
是您要更改的值。这不是我的第一个建议,但我有时会这样做,因为我想用最快的方法更改XML文件。