加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VBS脚本学习:遍历XML文档

发布时间:2020-12-16 09:35:49 所属栏目:百科 来源:网络整理
导读:一、脚本源码 使用VBS脚本遍历XML文件 OptionExplicit'定义常量ConstNodeElement=1'元素ConstNodeText=3'文本ConstNodeCDATA=4'CDATAConstNodeEntityRef=5'实体引用ConstNodeEntity=6'实体ConstNodeCommand=7'处理指令ConstNodeComment=8'注释ConstNodeDOCTY

一、脚本源码

使用VBS脚本遍历XML文件

OptionExplicit

'定义常量
ConstNodeElement=1'元素
ConstNodeText=3'文本
ConstNodeCDATA=4'CDATA
ConstNodeEntityRef=5'实体引用
ConstNodeEntity=6'实体
ConstNodeCommand=7'处理指令
ConstNodeComment=8'注释
ConstNodeDOCTYPE=10'文档类型

'遍历文件NameList.xml
WScript.EchoVbCrLf
WScript.Echo"开始遍历文件NameList.xml"
DimXDoc
SetXDoc=CreateObject("MSXML2.DOMDocument")
XDoc.Load("NameList.xml")
ReadXmlNodexdoc,0
WScript.Echo"遍历完毕"

'递归遍历结点信息x:结点lvl:层,从0开始计算
SubReadXmlNode(x,lvl)

Dimgap,child,i
gap=Space(lvl*3)

'WScript.Echogap&"<----"

'输出结点类型
WScript.Echogap&"TYPE:"&UCase(x.NodeTypeString),x.NodeName

'遍历属性
Ifx.NodeType=1Then
DimAlist
SetAlist=x.Attributes
Fori=0ToAlist.Length-1
DimAttr
SetAttr=Alist.Item(i)
WScript.Echogap&"ATTRIBUTE",Attr.NodeName,"=",Attr.NodeValue
Next
EndIf

'如果结点值不为空,显示结点值
IfNotIsNull(x.NodeValue)Then_
WScript.Echogap&"NODE_VALUE:","'"&x.NodeValue&"'"

'递归遍历子结点
Ifx.HasChildNodesThen
ForEachChildInx.ChildNodes
ReadXmlNodechild,lvl+1
Next
EndIf

'WScript.Echogap&">"

EndSub

二、运行结果

打开cmd,使用cscript运行VBS脚本

END

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读