以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  [求助]VBS函数遍历DOM碰到的棘手问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=13072)


--  作者:redcarpet
--  发布时间:12/28/2004 7:59:00 PM

--  [求助]VBS函数遍历DOM碰到的棘手问题
详细代码如下:
<SCRIPT language="vbscript">
function loadxml(vname)//函数获得一个DOM实例,并且load一个XML文件;
set xmldoc=createobject("microsoft.XMLDOM")
xmldoc.load(vname)
document.write "节点:"&xmldoc.documentElement.Nodename&"<br>"
set docroot=xmldoc.documentElement.childNodes
bianli docroot//调用bianli函数,如果想改其他方法却有问题;
end function

function bianli(tag)//遍历一个DOM树某节点下所有节点,tag为DOM树中的具体一个
节点
dim str
str="----"
for i=0 to tag.length-1
if tag.item(i).nodename<>"text" then
document.write str& "节点:"
document.write tag.item(i).Nodename&"<br>"
str=str&"----"
bianli tag.item(i).childnodes
else
document.write str& "节点:"
document.write tag.item(i).Nodename&"<br>"
end if
next
end function
loadxml("xml.xml")
</SCRIPT>
按上面的函数调用相关性太大了,
我想这样使用:
call loadxml("xml.xml")
  call bianli("j")
这样使用报如下错误:无XMLDOC对象
或者在定义一个函数f(),把loadxml(),bianli()需要的变量提出来。
然后再调用loadxml,bianli
构想如下:
function f(vname,tag)
set xmldoc=createobject("microsoft.XMLDOM")
call loadxml(vname)
call bianli(tag)
end functiong
但依然不行。请大家帮忙一下,谢谢了!我在线等


--  作者:哇哇鱼
--  发布时间:1/15/2005 10:07:00 AM

--  
call bianli("j")你这里传的是字符串.而你的function bianli(tag)//里.tag里要用的是XMLNode对象...你这样用法当然有错误啦
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms