我正在尝试创建一个稍后使用XML的对象,但没有运气:
var objXML = new ActiveXObject( "Microsoft.XMLDOM" );
WScript.Echo("objXML:"+objXML.constructor);
var objXML2 = WScript.CreateObject("Msxml.DOMDocument");
WScript.Echo("objXML2:"+objXML2.constructor);
输出
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
objXML:undefined
objXML2:undefined
操作系统:Win2003 Ent SP2
我做错了什么? 假设我无法在服务器上加载任何自定义库 - 只使用Windows默认库,我该如何操作XML文件?
答案 0 :(得分:2)
与节目Msxml.DOMDocument
和Microsoft.XMLDOM
对应的对象不会通过IDispatch公开名为constructor
的成员。
要验证对象是否已成功返回,您可以尝试使用属于IXMLDOMDocument
定义的接口的成员。
例如,更改脚本:
var objXML = new ActiveXObject( "Microsoft.XMLDOM" );
objXML.loadXML("<x/>")
WScript.Echo("objXML:"+objXML.xml);
var objXML2 = WScript.CreateObject("Msxml.DOMDocument");
WScript.Echo("objXML2:"+objXML2.nodeTypeString);
给出:
objXML:<x/>
objXML2:document
请注意,如果没有创建对象,您将在尝试创建时收到异常(“找不到自动化类...”),如果您输入错误,就会看到该异常progid,因此:new ActiveXObject( "MicrosoftX.MLDOM" );