该脚本不适用于MSXML 6.0,但适用于版本3.0

该脚本不适用于MSXML 6.0,但适用于版本3.0,xml,vbscript,msxml,msxml6,Xml,Vbscript,Msxml,Msxml6,我有一个小VB脚本,可以在使用MSXML3.0而不是6.0时工作。我已经读到我应该远离两者 脚本所做的只是找到一个节点,在消息框中显示内部文本 测试脚本: Dim xmlResponseDocument “Set-xmlResponseDocument=CreateObjectMsxml2.DOMDocument.3.0”使用MSXML 3.0 Set-xmlResponseDocument=CreateObjectMsxml2.DOMDocument.6.0'使用MSXML 6.0 '从文件加

我有一个小VB脚本,可以在使用MSXML3.0而不是6.0时工作。我已经读到我应该远离两者

脚本所做的只是找到一个节点,在消息框中显示内部文本

测试脚本:

Dim xmlResponseDocument “Set-xmlResponseDocument=CreateObjectMsxml2.DOMDocument.3.0”使用MSXML 3.0 Set-xmlResponseDocument=CreateObjectMsxml2.DOMDocument.6.0'使用MSXML 6.0 '从文件加载xml文档以进行测试 xmlResponseDocument.loadC:\Trash\isFollowNursevalid.xml 暗节点 set Nodes=xmlResponseDocument.GetElementsByTagnameisFollowNursevalidResult 对于节点中的每个子节点 MsgBox child.text,child.nodeName 下一个 对于xmlResponseDocument.SelectNodes//IsFollowupNurseValidResult中的每个lookupTypeNode MsgBox lookupTypeNode.Text,选择节点 下一个 MsgBox完成运行 设置节点=无 设置xmlResponseDocument=nothing XML文档:


到目前为止,由于某些原因,一些MSXML3.0示例无法与MSXML6.0一起使用。。。本主题提供了如何使MSXML 3.0示例与MSXML 6.0配合使用的说明。这个问题似乎与名称空间有关,但我不能完全确定。如果删除名称空间,则3和6是相同的。如果向内部xml添加一个预修复,它们也都可以工作,例如getElementsByTagname:isFollowNursevalidResult。删除内部xml上的名称空间声明,它也可以工作
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
        <IsFollowupNurseValidResponse xmlns="http://example.com/Quark/">
            <IsFollowupNurseValidResult>false</IsFollowupNurseValidResult>
        </IsFollowupNurseValidResponse>
    </s:Body>
</s:Envelope>