//环境:在某“叶子节点XX”的XX_Changed事件内。
//问题:①在XmlOperation.Delete时,用“e.Site”访问其父XPath路径内的节点会出现异常。
// ②在XmlOperation.Delete时,“e.OldValue”和“e.NewValue”均为空,此时只能
// 用e.Site.Value访问其OldValue。
if (e.Operation == XmlOperation.Delete)
{
//注意:此时的“e.OldParent”指向被执行删除操作的“目标”的父节点。
//例如:该“叶子节点”在‘两层’重复节内部,那么在第一层重复节执行
//删除操作和在第二层重复节执行删除操作其e.OldParent是不一样的。
string windpole1 = e.OldParent.SelectSingleNode("/my:windpole1", this.NamespaceManager).Value.Trim();
string windpole2 = e.Site.Value.Trim();
}
//问题:①在XmlOperation.Delete时,用“e.Site”访问其父XPath路径内的节点会出现异常。
// ②在XmlOperation.Delete时,“e.OldValue”和“e.NewValue”均为空,此时只能
// 用e.Site.Value访问其OldValue。
if (e.Operation == XmlOperation.Delete)
{
//注意:此时的“e.OldParent”指向被执行删除操作的“目标”的父节点。
//例如:该“叶子节点”在‘两层’重复节内部,那么在第一层重复节执行
//删除操作和在第二层重复节执行删除操作其e.OldParent是不一样的。
string windpole1 = e.OldParent.SelectSingleNode("/my:windpole1", this.NamespaceManager).Value.Trim();
string windpole2 = e.Site.Value.Trim();
}