Зарегистрируйтесь в измененном событии при создании Xdocument или XmlDocument - PullRequest
0 голосов
/ 27 ноября 2011

есть ли способ зарегистрироваться на измененное событие класса XDocument или событие NodeChanged класса XmlDocument во время создания класса?

следующий код не работал для меня (обработчикне назывался):

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();
        }

1 Ответ

0 голосов
/ 27 ноября 2011

Форма MSDN,

XObject : События генерируются только при изменении дерева XML, а не при его создании.

Iне удалось найти столь же подходящее утверждение для XmlDocument, но кажется разумным не поднимать NodeChanged при создании.Вы можете попробовать NodeInserted.

Обновление:

Я только что попробовал, NodeInserting и NodesInserted срабатывают во время Load().

...