题
我试图写在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如果XML通过文档类型指着DTD。结果 我已经做了很多的研究,并不能找出我要去哪里错了。如提供的DTD不是语法正确的,这是我在找了现在这可能是那样简单。我发现的资源大多是在MSDN上这里的 http://www.jalix.org/ressources/internet/dom/~vrac/articles/XML%20DOM.html 。结果 两个XML和DTD位于同一目录中,并且我有它解析XML与出DOCTYPE标签
我得到的错误是:点击 错误#:-2146697211:系统找不到指定的种源。 错误处理资源 '处理sample.dtd'
任何额外的资源,或建议将不胜感激。
解决方案
我无法重现你的错误。它的工作原理只是在同一文件夹这两个文件对我很好。
这不是不被任一合式的DTD的一个问题;抛出另一个错误。我得到同样的错误,你如果找不到DTD,而我得到错误-1072896757
(“DTD中发现无效字符。”),如果它发现我的(完全假的)DTD。
你有没有使用不同的微软XML 的版本,或者是你绑在旧的 2.0 试过吗?尝试的 V6.0 如果可能的。
其他提示
这是显而易见的建议,但你尝试完全限定DTD文件名(即C:?\ blahblah ... \处理sample.dtd
不隶属于 StackOverflow