Microsoft.XMLDOM, 为什么我这里使用JavaScript创建XML对象失败,而用VBScript成功?(50分)

  • 主题发起人 主题发起人 whbell
  • 开始时间 开始时间
W

whbell

Unregistered / Unconfirmed
GUEST, unregistred user!
Microsoft.XMLDOM, 为什么我这里使用JavaScript创建XML对象失败,而用VBScript成功?
本地没有安装msxml3_cn.exe,因为不想使得用户必须安装xml3.0
只想利用IE5中的msxml2, 只要个低版本的解析器满足要求就行了。

==============================JavaScript(创建失败的例子)=================================================
<html>
<head></head>
<body>
<script>
function transString(){
//var xd=new ActiveXObject("msxml2.domdocument");
//var xs=new ActiveXObject("msxml2.domdocument");

var xd = ActiveXObject("Microsoft.XMLDOM");
xd.async = False;
var xs = ActiveXObject("Microsoft.XMLDOM");
xs.async = False;

//var xd = CreateObject("Microsoft.XMLDOM");
//var xs = CreateObject("Microsoft.XMLDOM");
try{
xd.loadXML("report.xml");
xs.loadXML("report.xsl");
return xd.transformNode(xs);
}
catch(err){return err.description};
}
function openWin() {
doc = window.document;
axml = transString();
doc.write(axml);
}
</script>
<button onclick="openWin();">Open</button>
</body>
</html>
===============================VBscript(成功的例子)======================================
<html>
<head></head>
<body>
<script language=vbscript>
function TRANS()
Setdo
c = CreateObject("Microsoft.XMLDOM")
do
c.async = False
do
c.load "report.xml"
Set xsls = CreateObject("Microsoft.XMLDOM")
xsls.async = False
xsls.load "report.xsl"
TRANS= do
c.transformNode(xsls)
end function
function Onopen()
set doc = window.document
axml = TRANS()
doc.write(axml)
end function
</script>
<button onclick="Onopen()">Open</button>
</body>
</html>
 
>>var xd = ActiveXObject("Microsoft.XMLDOM");
>>var xs = ActiveXObject("Microsoft.XMLDOM");
建立对象要不要用new分配?如下:
var xd = new ActiveXObject("Microsoft.XMLDOM");
var xs =new ActiveXObject("Microsoft.XMLDOM");
 
啊,我竟然没看到这个问题。 多谢。
再问一下:为什么DFW用FreeThreadDomDocument,而不用Microsoft.xmlDom来实现
转化呢?这样只要Ie5就可以,不必安装Xml3
这个问题我在离线库中看到,当时没有人回答。
而现在在网上又不能查询旧贴.....
 
var xd = new ActiveXObject("Microsoft.XMLDOM");
var xs =new ActiveXObject("Microsoft.XMLDOM");
我已经改好了, 可是对同一份xml文档
使用javascript的函数xd.loadXML("report.xml");
...;
xd.transformNode(xs);
显示不出来内容
打印出error对象,报告: 顶层元素有错误。。。
可是VBscript版本的则显示正常。
这是为什么呢?
(xml文档中的回车符我已经去掉了)
我再加100分
 
后退
顶部