VBS脚本学习:遍历XML文档

一、脚本源码

使用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

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念