如何监视(add - edit - delete)节点的xml文件

时间:2013-07-24 08:26:10

标签: c# xml filesystemwatcher

在我的解决方案中我有两个项目(Windows服务和WPF来管理服务) 我有一个服务使用的坐标文件(XML) 我问的是:

我想知道用户何时在不重新启动服务的情况下对XML文件进行任何更改 并知道什么是已更改的xml节点

我搜索了很多,发现解决方案是通过FileSystemWatcher

  

收听文件系统更改通知并在何时引发事件   目录或目录中的文件发生更改。

但我怎么知道什么是已更改的xml节点

谢谢

1 个答案:

答案 0 :(得分:0)

我会保留原始XML的副本,然后在FileSystemWatcher触发时运行比较。有关比较XML节点的建议,请查看Efficient algorithm for comparing XML nodes

文件监视器示例

String folderLocation = System.Configuration.ConfigurationManager.AppSettings["FOLDER_LOCATION"].ToString();

            _watcher = new System.IO.FileSystemWatcher();
            _watcher.Path = folderLocation;
            _watcher.IncludeSubdirectories = false;
            _watcher.NotifyFilter = NotifyFilters.Size;
            _watcher.Changed += new FileSystemEventHandler(OnFileChanged);
            _watcher.EnableRaisingEvents = true;

private void OnFileChanged(object sender, FileSystemEventArgs e)
        {
            String file = e.FullPath;
...