51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4275|回复: 3
打印 上一主题 下一主题

[原创] 【已解决】如何用vbs读取xml节点的值?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-8-10 11:23:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
xml 中的节点如下所示:
<abc>123456</abc>
已经用循环语句定位到abc这个节点了,如下:strName="abc"
Sub rTravel (rNode)
  Dim blnTwo,childName
     blnTwo = False
     iLen = rNode.childNodes.length
       If iLen > 0 Then
            For i = 0 To rNode.childNodes.length -1
               Set child = rNode.childNodes.item(i)
               Call rTravel(child)  
               childName=child.nodeName   
               If strName=childName then
                  MsgBox childName
                   childText = child.nodeValue                        
                   strXML = strXML & childText & chr(13)

                  MsgBox strXML
                  Exit Sub
                End if
            Next
        Else
           Exit Sub               
       End If
End Sub

但是msgbox 出来的值都是空的?
还有红色标识的第二句话是什么作用呀?如果只是用msgbox childText会提示error,但是有了第二句话之后就没有error,可以运行通过,只是msgbox出来的值是空的。
abc 跟123456的关系是node name 跟node value的关系吗?谢谢先!

[ 本帖最后由 topor 于 2009-8-10 15:13 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-8-10 13:03:01 | 只看该作者
Function readConfig(byval path, byval nodeName)
        Set xmlDoc = Nothing
        Set xmlDoc = CreateObject("Msxml2.DOMDocument")
        'loadXML
        xmlDoc.load(path)
        Set root = xmlDoc.documentElement
        Set objChildNodes = root.getElementsByTagName(nodeName)'Getting nodes collection
        Dim num, res
        Set res = CreateObject("scripting.dictionary")'新建字典
        num = objChildNodes.length'获取Nodes集合的个数
        For i = 0 To (num - 1)'循环为字典赋值
                res.Add objChildNodes(i).firstChild.text, objChildNodes(i).lastChild.text
        Next
        set xmlDoc = Nothing
        Set readConfig = res
End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
我写的一个读取xml文件的函数,主要功能是读取config.xml文件中的配置信息,从而实现数据的动态配置。你参考下,应该能解决你的疑虑。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-8-10 14:00:14 | 只看该作者
参考了楼上的,果然是把
childText = child.nodeValue
改成
childText = child.text
就可以了,谢谢啦!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-6-7 09:33:20 | 只看该作者

回复 2# 的帖子

写个读取接点属性值的例子吧?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 13:17 , Processed in 0.069994 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表