我遇到了MSXML2.DOMDocument ActiveX对象的奇怪问题。这是我的代码:
var doc = new ActiveXObject('MSXML2.DOMDocument.6.0');
doc.LoadXML('<test1><test2>Hello!</test2></test1>');
doc变量的类型是object,代码的第一行没有异常。但是第二行抛出该对象不支持该方法。我真的不明白为什么,但似乎在任何方法(我尝试使用LoadXML,Load,Async等)上使用相同的消息都失败了。
答案 0 :(得分:1)
您最大的问题是方法名称为loadXML()
,而不是LoadXML()
。方法名称区分大小写。
如果您在尝试找出特定COM对象支持的方法时遇到困难,可以使用PowerShell列出可用的方法,如下所示:
powershell "new-object -COM MSXML2.DOMDocument.6.0 | gm"
此外,如果您发现使用该字符串导航DOM时遇到问题,则可能需要在<?xml version="1.0"?>
标记之前添加<test>
。 MS的一些XML解析器对于有效,格式良好的XML结构很迂腐。我不确定MSXML2.DOMDocument.6.0
对这类事情有多严格或宽容。