MSXML.DOMDocument 不支持任何方法?

MSXML.DOMDocument doesn't support any method?

我在使用 MSXML2.DOMDocument ActiveX 对象时遇到了一个奇怪的问题。这是我的代码:

var doc = new ActiveXObject('MSXML2.DOMDocument.6.0');
doc.LoadXML('<test1><test2>Hello!</test2></test1>');

doc变量的类型是object,第一行代码没有异常。但是第二行抛出该对象不支持该方法。我真的不明白为什么,但似乎在任何方法(我尝试了 LoadXML、Load、Async 等)上都失败了,并显示了相同的消息。

你最大的问题是方法名是loadXML(),不是LoadXML()。方法名称区分大小写。

如果您在尝试找出特定 COM 对象支持的方法时遇到困难,您可以使用 PowerShell 列出可用的方法,如下所示:

powershell "new-object -COM MSXML2.DOMDocument.6.0 | gm"

此外,如果您发现使用该字符串在 DOM 中导航时遇到问题,您可能需要在 <test> 标记之前添加 <?xml version="1.0"?>。 MS 的一些 XML 解析器对有效的、格式良好的 XML 结构很迂腐。我不确定 MSXML2.DOMDocument.6.0 对这些事情有多严格或宽容。