如题:vb 读取XML中指定的内容,我想直接读取站点编码为1001的 DO的值,如何才能实现?<?xml version="1.0" encoding="gb2312"?>
<body>
<Head ID="1109290001" DateTime="2010-08-09 12:12:11" Name="小明"/>
<Site SID="1000">
<Var VarName="PH" Val="8.1"/>
<Var VarName="DO" Val="8.2"/>
<Var VarName="CON" Val="8.3"/>
<Var VarName="NTU" Val="8.4"/>
<Var VarName="CODmn" Val="8.5"/>
<Var VarName="NH4" Val="8.6"/>
<Var VarName="TOC" Val="8.7"/>
<Var VarName="TN" Val="8.8"/>
<Var VarName="TP" Val="8.9"/>
</Site>
<Site SID="1001">
<Var VarName="PH" Val="7.2"/>
<Var VarName="DO" Val="7.3"/>
<Var VarName="CON" Val="7.4"/>
<Var VarName="NTU" Val="7.5"/>
<Var VarName="CODmn" Val="7.6"/>
<Var VarName="NH4" Val="7.7"/>
<Var VarName="TOC" Val="7.8"/>
<Var VarName="TN" Val="7.9"/>
<Var VarName="TP" Val="7.1"/>
</Site>
</body>

解决方案 »

  1.   

    很久没用,不太记得xml相关属性方法了, 写了一下片段供参考
        Dim xmlDoc As New DOMDocument
        Dim xmlRootElement As IXMLDOMElement    
        Dim xmlList As IXMLDOMNodeList
        Dim xmlError As IXMLDOMParseError
        Dim success As Boolean
        Dim strPara As String
            
        xmlDoc.async = False
        xmlDoc.validateOnParse = True
        
        strPara = "http://localhost/testS/testS.WSDL"  'xml source            
        success = xmlDoc.Load(strPara)
        If success = True Then
            Set xmlRootElement = xmlDoc.documentElement                       
            Set xmlList = xmlRootElement.getElementsByTagName("schema")
            For i = 0 To xmlList.Length
                If xmlList(i).Attributes(1).nodeValue = "1001" Then Debug.Print xmlList(i).selectSingleNode("DO").Text        Next
    下略.
      

  2.   

    xmlList.Length --> xmlList.Length-1 (若索引从0开始)