对象不支持此属性或方法:' xmldoc2.importNode'

时间:2014-08-06 18:48:44

标签: vbscript xml-parsing

我正在尝试将节点从一个XML文档复制到另一个XML文档中。

Project是两个文档中的根元素,我想从第一个文档中选择所有ItemGroup元素,并在第二个文档中的Import元素之前插入它们。不幸的是,我得到了

Object doesn't support this property or method: 'xmldoc2.importNode'

以下是我正在使用的代码:

Set xmldoc1 = CreateObject("Microsoft.XMLDOM")
xmldoc1.async = false
xmldoc1.load WScript.Arguments(0)

Set xmldoc2 = CreateObject("Microsoft.XMLDOM")
xmldoc2.async = false
xmldoc2.load WScript.Arguments(1)

Set importNode = xmldoc2.selectSingleNode("//Project/Import")

Set nodes = xmldoc1.selectNodes("//Project/ItemGroup")
For Each node In nodes
    Set newNode = xmldoc2.importNode(node, True)
    xmldoc2.insertBefore newNode, importNode
Next

我该如何修复代码?

编辑:

感谢@ Ekkehard.Horner,我解决了这个问题。这是更新的代码

Set xmldoc1 = CreateObject("Microsoft.XMLDOM")
xmldoc1.async = false
xmldoc1.load WScript.Arguments(0)

Set xmldoc2 = CreateObject("Microsoft.XMLDOM")
xmldoc2.async = false
xmldoc2.load WScript.Arguments(1)

Set importNode = xmldoc2.selectSingleNode("//Project/Import")

Set nodes = xmldoc1.selectNodes("//Project/ItemGroup")
For Each node In nodes
    Set newNode = node.cloneNode(true)
    xmldoc2.documentElement.insertBefore newNode, importNode
Next

1 个答案:

答案 0 :(得分:1)

importNode状态的文档:

  

[此示例代码使用首先在MSXML中实现的功能   5.0 for Microsoft Office Applications。]

我尝试使用

  1. “Msxml2.DOMDocument”或“Msxml2.DOMDocument.6.0”而不是“Microsoft.XMLDOM”
  2. .cloneNode而不是.importNode