gpt4 book ai didi

c# - 如何检查 XmlDocument 是否已更改?

转载 作者:数据小太阳 更新时间:2023-10-29 02:51:35 26 4
gpt4 key购买 nike

我有条件地更改我代码的各个部分中的 XmlDocumentXmlDocument 对象没有为此传递“已更改”标志(如 isDirty)吗?

var doc = new XmlDocument();
doc.Load(file);

if (...) parent.AppendChild(element);
if (...) parent2.AppendChild(element2);
if (...) parent3.AppendChild(element3);

//METHOD DOESN'T EXIST
if (doc.isDirty())
doc.Save(file);

最佳答案

虽然 XmlDocument 没有公开 IsDirty 标志,但它确实有像 NodeChangedNodeInsertedNodeRemoved,您可以使用它来保留一个标志,您不需要将其传递给任何变异方法:

var doc = new XmlDocument();
doc.Load(file);

bool changed = false;

XmlNodeChangedEventHandler handler = (sender, e) => changed = true;
doc.NodeChanged += handler;
doc.NodeInserted += handler;
doc.NodeRemoved += handler;

// do some work

if (changed)
doc.Save(file);

关于c# - 如何检查 XmlDocument 是否已更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15500438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com