编辑器控件,它操纵XElement对象而不是XML文本

时间:2011-04-11 15:21:54

标签: c# wpf xml .net-4.0

我有一个程序可以从XML文件中配置自己,但每当配置发生变化时,我都必须重新读取XML文件并从头开始重新构建程序的状态。

但是,我也可以编写它来简单地订阅每个XElement.Changed事件,因此可以在运行时更改配置,而不会强迫我放弃状态并重新创建它。

是否有一个XML编辑器控件(对于WPF或Mono,最好是)操纵XElement的实例而不是将文档作为一个大字符串处理和操作?

1 个答案:

答案 0 :(得分:0)

你的逻辑中缺少一些东西。

  • 如果整个配置文件很重要?如果是这样 - 您的解决方案是正确的 - 您应该重新加载整个XML文件
  • 如果有什么东西(3d派对应用?)改变了XML - 你怎么知道它?可能是同一个程序可以踢一些事件并注意变化吗?

对于XML使用:最好的方法是使用XPath并提取XmlElement甚至整个XML中的元素集合。我不认为有一种方法可以知道XML的一部分是否发生变化或者是否有关于它的事件。要知道某些内容发生了变化,您应该使用原始文档副本进行检查 - 但我知道另一个应用程序正在更改它......