VBScript读取XML信息

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

转载于:https://www.cnblogs.com/S-TGM/archive/2009/10/12/1581899.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值