0

我正在尝试创建一个更新 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 窗体。

4

2 回答 2

4

使用 Linq to 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
于 2013-07-02T14:58:00.577 回答
0

有很多方法可以做到这一点:

  1. 在 .Net 中使用XMLDocument和其他内置类。您可以打开文件并将 XML 加载到类中,然后使用XPath获取属性。这类似于@lazyberezovsky 的回答。

  2. hack-y 解决方案是对文件的文本进行字符串解析。查找experience="并注意从那和下一个"是您要更改的值。这不是我的第一个建议,但我有时会这样做,因为我希望以最快的方式更改 XML 文件。

于 2013-07-02T15:00:44.233 回答