我只是想合并 2 个 xml 文档(将一个节点添加到另一个文档中)。我做了一些谷歌搜索,并尝试了一些方法,但我总是得到相同的错误“要插入的节点来自不同的文档上下文”
我确信我错过了一些简单的东西,只是看起来这不应该那么困难。
这是我的代码:
Dim xmlDoc482 As XmlDocument = New XmlDocument
Dim xmlDoc486 As XmlDocument = New XmlDocument
Dim xmlDoc490 As XmlDocument = New XmlDocument
xmlDoc482.LoadXml(strSettlement482)
xmlDoc486.LoadXml(strSettlement486)
xmlDoc490.LoadXml(strSettlement490)
Dim xmlSummarysNode490 As XmlNode = xmlDoc486("Summarys")
Dim xmlSummaryNode482 As XmlNode = xmlDoc482("Summarys").LastChild
Dim xmlSummaryNode486 As XmlNode = xmlDoc486("Summarys").LastChild
Dim nodeDest As XmlNode
nodeDest = xmlDoc490.ImportNode(xmlSummaryNode482, True)
xmlSummarysNode490.AppendChild(nodeDest)
nodeDest = xmlDoc490.ImportNode(xmlSummaryNode486, True)
xmlSummarysNode490.AppendChild(nodeDest)
最佳答案
尝试将导入的节点附加到 DocumentElement 而不是行 Dim xmlSummarysNode490 As XmlNode = xmlDoc486("Summarys")。
xmlDoc490.DocumentElement.AppendChild(nodeDest)
您还可以在插入之前尝试使用 CloneNode() 而不是 ImportNode()。
最后,过去帮助我进行合并的事情是构建一个简单的容器 xml,然后将所有子文档转储到其中。
xmlMerged.LoadXML("<set></set>")
所以就变成了:
<set>
<Summary>....</Summary>
<Summary>....</Summary>
...
</set>
关于.net - VB.NET 将 xml 节点插入现有 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687081/