我正在为扫描设备开发 C# 应用程序,但遇到了一个问题。我从一个 xml 文件中获取我的配置设置,每次运行应用程序时我都从服务器获取该文件。但是,如果配置错误,我无法请求新的配置,因为 Server Url 在 xml 中。所以我决定我想要编辑功能。这是我显示配置的方式:
private void list()
{
if (this.listViewConf.Items.Count != 0)
this.listViewConf.Items.Clear();
this.addItem("Operator", Data.cuser);
this.addItem("Warehouse", Data.cware);
this.addItem("Server URI", Config.uri(Config.socket));
this.addItem("Timeout", Config.get(Config.socket, Config.atime));
this.addItem("Config file", Config.path("config.xml"));
this.addItem("Data backup", Config.path("data.xml"));
this.listViewConf.Visible = true;
}
private void addItem(String name, String value) {
ListViewItem item = new ListViewItem();
item.Text = name;
item.SubItems.Add(value);
this.listViewConf.Items.Add(item);
}
其中 listViewConf 是一个 ListView。我的任务是 - 如何知道 ListView 的哪一行被选中(假设我有一个编辑按钮),更重要的是,如何编辑 xml 文件?ListView 由名称 | 值对,这是一个示例 config.xml:
<?xml version="1.0" encoding="utf-8" ?>
<wms>
<setup>
<config path="/Flash File Store/WMS/" file="config.xml" />
<socket path="http://ware.aip/interface/ck/" file="socket.php" timeout="10000" />
</setup>
<users>
<user id="1" code="01" name="User" ware="1" />
</users>
<warehouses>
<ware id="1" code="T" name="Test" />
</warehouses>
<tasktypes>
<type id="1" code="T" name="Test" />
</tasktypes>
</wms>
而且 - 我知道创建可编辑的 ListView 是可能的,但如果有更简单的解决方案(比如使用编辑按钮),我很乐意使用它。预先感谢。