我正在尝试在 VB6 中编写 XML 解析器。
XML 所基于的标准带有一个 DTD,用于在开始解析之前验证 XML。我还编写了一个示例 XML 文件,以便我可以进行测试。
我能够通过 vb6 代码加载 XML
Dim objXMLDoc As MSXML.DOMDocument
Set objXMLDoc = New MSXML.DOMDocument
If Not objXMLDoc.Load("sample.xml") Then
----Goto ErrorHandler
End If
工作 XML
<?xml version = "1.0"?>
<Root>
...
</Root>
尝试使用我的 DTD 进行验证
<?xml version = "1.0"?>
<!DOCTYPE sample SYSTEM "sample.dtd">
<Root>
...
</Root>
我所做的研究使我相信,如果 XML 通过 doc 类型指向 DTD,则 Load 将验证 XML。
我做了很多研究,无法弄清楚我哪里出错了。它可能就像提供的 DTD 在语法上不正确一样简单,我现在正在查看它。我找到的资源主要在 MSDN 和这里http://www.jalix.org/ressources/internet/dom/~vrac/articles/XML%20DOM.html。
xml 和 dtd 都位于同一个目录中,我让它解析没有 doctype 标记的 XML。
我得到的错误是:
错误#:-2146697211:系统找不到指定的资源。错误处理资源“sample.dtd”
任何额外的资源或建议将不胜感激。