Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在构造Xdocument或XmlDocument时注册到已更改的事件_C#_.net_Xml_Linq To Xml_Xmldocument - Fatal编程技术网

C# 在构造Xdocument或XmlDocument时注册到已更改的事件

C# 在构造Xdocument或XmlDocument时注册到已更改的事件,c#,.net,xml,linq-to-xml,xmldocument,C#,.net,Xml,Linq To Xml,Xmldocument,在构造XDocument类时,是否有方法注册XDocument类的changed事件或XmlDocument类的NodeChanged事件 以下代码对我无效(未调用处理程序): 表格MSDN :只有在修改XML树时才会引发事件,而不是在构造XML树时引发事件 我找不到与XmlDocument同样相关的语句,但在创建时不提出NodeChanged似乎是合理的。你可以试试不插入 更新: 我刚刚试过,NodeInserting和NodesInserted在加载()过程中触发。以什么方式没有按预期工作?

在构造XDocument类时,是否有方法注册XDocument类的changed事件或XmlDocument类的NodeChanged事件

以下代码对我无效(未调用处理程序):

表格MSDN

:只有在修改XML树时才会引发事件,而不是在构造XML树时引发事件

我找不到与XmlDocument同样相关的语句,但在创建时不提出NodeChanged似乎是合理的。你可以试试不插入

更新:
我刚刚试过,NodeInserting和NodesInserted在加载()过程中触发。

以什么方式没有按预期工作?怎么搞的?您希望发生什么?谢谢,它与XmlDocument一起工作。我认为linqtoxml(XDocument或XElement)应该具有与XmlDocument类相同的功能。使用XDocument对我来说会更方便,因为显然我的应用程序的其余部分都使用它:(XDocument的设计方式(静态加载和解析方法)会使在读取之前附加处理程序变得非常困难。
string fileName = "MyFile.xml";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.NodeChanged += new XmlNodeChangedEventHandler(xmlDocument_NodeChanged);
xmlDocument.Load(fileName);

 void xmlDocument_NodeChanged(object sender, XmlNodeChangedEventArgs e)
        {
            throw new NotImplementedException();
        }