最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
dom XML文档元素互相复制解决方法
时间:2022-06-25 16:48:32 编辑:袖梨 来源:一聚教程网
错误信息如下:
The node to be inserted is from a different document context
意思是不能直接插入其他xml文档中的元素。解决方法是用ImportNode();函数先导出。XmlDocument xmlOld = new 今天在使用XML节点复制时,遇到一些问题,浪费了2个小时的时间。可是,公司的网络又慢,只能通过MSN请朋友帮我根据错误信息找。还好,找到了解决问题的方法。
| 代码如下 | 复制代码 |
| XmlDocument();//老文档 XmlNode nodeOld = xmlOld.SelectSingleNode("xpath");//老文档中元素 XmlDocument xmlNew = new XmlDocument();//新文档 XmlNode nodeNew = xmlNew.ImportNode(nodeOld, true);//先导入老文档中的元素 xmlNew.AppendChild(nodeNew);//再追加 xmlNew.AppendChild(nodeOld);// |
|
这样会提示那样的错误信息下面是一些可能有用的信息:
错误信息如下:
The node to be inserted is from a different document context
我测试了Clone/CloneNode两个方法,同样出现这个错误。
根据文档的说明,使用ImportNode解决了问题。
有经验的朋友,讲讲为什么?
-----------------------------------------------------------------------------------------------------
这是英文的帖子:
| 代码如下 | 复制代码 |
|
Hi, I 've got the following piece of code that 's causing me a bit of a problem XmlDocument doc = new XmlDocument (); The last line (rootNode.AppendChild (rolesNode)) throws an exception "The Eirik M. |
|
网友的回复:
| 代码如下 | 复制代码 |
|
The proble you 're having relates to the fact that the user object is Either you pass doc to GetRoles so that the nodes are created from the rootNode.AppendChild(doc.ImportNode(rolesNode,true)); instead of the previous AppendChild. best regards |
|
-------------------------------------------------------------------------------------------------------
在.NET里,一个节点是有context 的,只能属于一个XML文档,你可以看到XmlNode有个只读OwnerDocument属性,这是跟w3c的标准相符合的
如果你需要把一个节点拷贝到另一个文档去,需要使用ImportNode
参考
http://msdn.**mi*crosoft.com/msdnmag/issues/02/05/web/
相关文章
- 126邮箱手机一键快捷登录入口-126邮箱扫码免密极速登录入口 12-14
- 四级成绩查询官网入口-中国教育考试网四六级查分通道 12-14
- 豆包手机官网购买入口在哪-努比亚豆包手机购买入口在哪儿 12-14
- 小红书网页版极速登陆-网页版入口秒速响应 12-14
- 高德地图网页版入口在哪-在线使用高德地图网页版 12-14
- 126邮箱手机快捷登录入口-126邮箱扫码免密登录通道 12-14