Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB6中首次验证DTD后,如何解析XML文档_Xml_Vb6_Dtd - Fatal编程技术网

在VB6中首次验证DTD后,如何解析XML文档

在VB6中首次验证DTD后,如何解析XML文档,xml,vb6,dtd,Xml,Vb6,Dtd,我正在尝试用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 <?x

我正在尝试用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,加载将验证XML。
我做了很多研究,不知道哪里出了问题。它可能很简单,因为提供的DTD在语法上不正确,我现在正在查看。我找到的资源主要在MSDN和此处。
xml和dtd都位于同一个目录中,我让它解析xml而不使用doctype标记

我得到的错误是:
错误#:-2146697211:系统找不到指定的资源。 处理资源“sample.dtd”时出错


任何额外的资源或建议都将不胜感激。

我无法重现您的错误。对我来说,这两个文件在同一个文件夹中都可以正常工作

这也不是DTD格式不好的问题;这又是一个错误。如果它找不到DTD,我会收到与您相同的错误,而如果它确实找到我的(完全伪造的)DTD,我会收到错误
-1072896757
(“在DTD中找到无效字符”)


您是否尝试过使用不同的Microsoft XML版本,或者是否绑定到旧的版本2.0?如果可能,请尝试v6.0

我无法重现您的错误。对我来说,这两个文件在同一个文件夹中都可以正常工作

这也不是DTD格式不好的问题;这又是一个错误。如果它找不到DTD,我会收到与您相同的错误,而如果它确实找到我的(完全伪造的)DTD,我会收到错误
-1072896757
(“在DTD中找到无效字符”)


您是否尝试过使用不同的Microsoft XML版本,或者是否绑定到旧的版本2.0?如果可能,请尝试v6.0

这是一个明显的建议,但您是否尝试过完全限定dtd文件名(即c:\blahblah…\sample.dtd?

这是一个明显的建议,但您是否尝试过完全限定dtd文件名(即c:\blahblah…\sample.dtd?

由于先前存在的代码,我很不幸地被绑定到了2.0版。现在我知道我至少在正确的轨道上,我将继续使用它,感谢您查看Mercator。感谢您的帮助,我终于有时间再次使用它。对程序员的错误(我自己和一些关键的打字错误)进行修改,一个给我的格式错误的DTD,在这方面缺乏知识,我只是在兜圈子。现在修复了一个正在工作的,谢谢。谢谢!很高兴你修复了它。很遗憾,由于先前存在的代码,我被绑定到了2.0版。现在我知道我至少在正确的轨道上,我会继续玩它,谢谢你看Mercator.谢谢你的帮助,我终于有时间再玩一次了。Do to programmer error(我自己和一些键盘输入错误),给我的DTD格式错误,以及缺乏这方面的知识,我只是在兜圈子。现在修复了一个工作,谢谢。谢谢!很高兴你修复了它。