使用MSXML2.DOMDocument60加载XML时发生DTD错误

使用MSXML2.DOMDocument60加载XML时发生DTD错误,xml,vba,domdocument,dtd,msxml,Xml,Vba,Domdocument,Dtd,Msxml,我已经为使用MSXML2.DOMDocument60处理xml文件开发了一系列函数。然而,当我尝试使用下面的代码加载html页面时,我得到一个错误 “不允许使用DTD” 。有人知道我做错了什么吗 Dim xml As MSXML2.DOMDocument60 Set xml = New MSXML2.DOMDocument60 If xml.Load(pathToHtml) Then Debug.Print "Success" Else Debug.Print "Could n

我已经为使用
MSXML2.DOMDocument60
处理xml文件开发了一系列函数。然而,当我尝试使用下面的代码加载html页面时,我得到一个错误

“不允许使用DTD”

。有人知道我做错了什么吗

Dim xml As MSXML2.DOMDocument60
Set xml = New MSXML2.DOMDocument60

If xml.Load(pathToHtml) Then
    Debug.Print "Success"
Else
    Debug.Print "Could not load the document: " & pathToHtml
    If xml.parseError.ErrorCode <> 0 Then Debug.Print "Error when loading was: " + xml.parseError.reason
End If
Dim xml作为MSXML2.DOMDocument60
Set xml=New MSXML2.DOMDocument60
如果是xml.Load(pathToHtml),那么
调试。打印“成功”
其他的
Debug.Print“无法加载文档:”&pathToHtml
如果xml.parseError.ErrorCode为0,则Debug.Print“加载时出错:”+xml.parseError.reason
如果结束
提前感谢您的建议


John

我认为可以将
ValidateOnParse
属性设置为false-默认情况下为True

此属性用于指定XML解析器是否应在加载时根据文档类型定义(DTD)、架构或架构缓存验证(true)此文档。MSXML 6.0支持此属性

就在你排队之前

如果是xml.Load(pathToHtml),那么

尝试添加行:

xml.validateOnParse=False


更多信息

您是否可以预处理文档并打开XML文件,删除引用DTD位置的行尝试下面的建议是否成功?您是否可以提供足够的XML/html来重现此建议?