Msxml.DOMDocument,Microsoft.XMLDOM和JScript / WSH

时间:2014-02-24 14:37:06

标签: xml domdocument jscript xmldom

我正在尝试创建一个稍后使用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文件?

1 个答案:

答案 0 :(得分:2)

与节目Msxml.DOMDocumentMicrosoft.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" );