我使用XPathDocument解析 XML 文件,但如果有doctype 声明,当我初始化 XPathDocument 类的新实例时,将包含 XML 数据的文件路径传递给它的构造函数,我的应用程序尝试连接到互联网(可能是为了验证 XML 数据的正确性)并且长时间保持阻塞状态。如果我从 XML 文件中删除 doctype 声明,则不会发生这种情况。XmlDocument.Load方法具有相同的行为。我该如何解决这个问题?
谢谢。
我使用XPathDocument解析 XML 文件,但如果有doctype 声明,当我初始化 XPathDocument 类的新实例时,将包含 XML 数据的文件路径传递给它的构造函数,我的应用程序尝试连接到互联网(可能是为了验证 XML 数据的正确性)并且长时间保持阻塞状态。如果我从 XML 文件中删除 doctype 声明,则不会发生这种情况。XmlDocument.Load方法具有相同的行为。我该如何解决这个问题?
谢谢。
如果使用将 XmlReader 作为其输入的 XPathDocument 构造函数,则可以在 XmlReader 上设置XmlResolver。然后,您可以设置解析器以识别 SVG 文档类型并提供 SVG DTD 的本地副本。
同样,也可以在调用 Load 方法之前给 XmlDocument 一个 XmlResolver。