xml文件为
<?xml version="1.0" encoding="utf-8" ?>
<TotalNE ResultFolderPath="">
<NE Name="BOCO">
<IP>10.10.10.29</IP>
<Port>23</Port>
<LoginName>ncomc</LoginName>
<PassWord>ncomc123</PassWord>
<Command>cluster node</Command>
</NE>
</TotalNE>
Function ReadXml(strXmlFile)
Dim xdoc
Dim dic
Set xdoc = CreateObject("MSXML2.DOMDocument")
xdoc.Async = False
If xdoc.Load(strXmlFile) Then
'装载XML文件
Set objXmlDoc = xdoc.documentelement ' 装载XML文件
'从doc中item的值
Set dic = getXmlText(xdoc)
Set xdoc = Nothing
End If
Set xdoc = Nothing
Set ReadXml = dic
End Function
'---------------------------------------------------------------------
'--作用:读取XML文件节点的属性值
'--参数:参数1:当前节点
'--返回:当前节点的属性
'----------------------------------------------------------------------
Function GetNodeAttr(xmlNode)
If xmlNode.Attributes.length > 0 Then
GetNodeAttr = xmlNode.Attributes.Item(0).Value
Else
GetNodeAttr = ""
End If
End Function
'----------------------------------------------------------------------
'--作用:读取XML文件节点的值
'--参数:参数1:主机个数、参数2:总命令数、参数3:日志路径
'--返回:true成功
'----------------------------------------------------------------------
Function getXmlText(objXmlDoc)
Dim strNodeName
Dim I
Dim strNodeAttr
Dim RootNode
Set RootNode = objXmlDoc.getElementsByTagName("TotalNE") '取得根节点对象
Set objNodeList = objXmlDoc.getElementsByTagName("NE") '先获得节点对象
Set dic = CreateObject("Scripting.Dictionary")
For I = 0 To objNodeList.length - 1 Step 1
strNodeName = objNodeList(I).selectSingleNode("IP").Text
strNodeAttr = GetNodeAttr(objNodeList(I))
If dic.Exists(strNodeName) = False Then
dic.Add strNodeName, strNodeAttr
End If
Next
mstrResultPath = RootNode.Item(0).Attributes(0).nodeValue
Set getXmlText = dic
End Function