我试图写在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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top