今天在使用XML节点复制时,遇到一些问题,浪费了2个小时的时间。可是,公司的网络又慢,只能通过MSN请朋友帮我根据错误信息找。还好,找到了解决问题的方法。
错误信息如下:
The node to be inserted is from a different document context
我测试了Clone/CloneNode两个方法,同样出现这个错误。
根据文档的说明,使用ImportNode解决了问题。
有经验的朋友,讲讲为什么?
---------------------------------------------------------------
在.NET里,一个节点是有context 的,只能属于一个XML文档,你可以看到XmlNode有个只读OwnerDocument属性,这是跟w3c的标准相符合的
如果你需要把一个节点拷贝到另一个文档去,需要使用ImportNode