Dim xmlDom As New DOMDocument 'dom对像
Dim xmlE As IXMLDOMElement '根结点对像
Dim xmlNode As IXMLDOMNode '子结点对像
Dim a As String
Public Sub Getlink()
'默认的解析器会验证你的文档是否符合某个DTD 或者 schema,你可以不让解析器执行验证,在执行Load方法之前,将DOMDocument的属性ValidateOnParse为False。
xmlDom.validateOnParse = False
'打开文件
xmlDom.Load App.Path + "setlink.xml"Set xmlE = xmlDom.documentElementFor Each xmlNode In xmlE.childNodes '错在这行
Debug.Print xmlNode.Text
Next

解决方案 »

  1.   

    MSGBOX xmlDom.Load( App.Path + "setlink.xml" )这样看看加载是否成功,初步怀疑xml文件内部错误。
      

  2.   

    <?xml version="1.0" encoding="gb2312"?>
    <linkset>
    <set1>
    <linkurl>192.168.1.9</linkurl>
    <linkport>21</linkport>
    <username>aaa</username>
    <Password>1234</Password> 
    </set1>
    </linkset>文件内容是这样的有错吗?
      

  3.   

    检测一下内容后面是不是有什么特殊字符
    单就这样格式的XML文档,并不存在解析错误。
    测试代码,好象跟你给出的没有什么差别。
    Dim xmlDom As New DOMDocument 'dom对像
    Dim xmlE As IXMLDOMElement '根结点对像
    Dim xmlNode As IXMLDOMNode '子结点对像
    Dim a As String'默认的解析器会验证你的文档是否符合某个DTD 或者 schema,你可以不让解析器执行验证,在执行Load方法之前,将DOMDocument的属性ValidateOnParse为False。
    xmlDom.validateOnParse = False
    '打开文件
    xmlDom.Load "c:\test.XML"Set xmlE = xmlDom.documentElementFor Each xmlNode In xmlE.childNodes '错在这行
    Debug.Print xmlNode.Text
    Next
    Set xmlNode = Nothing
    Set xmlE = Nothing
    Set xmlDom = Nothing