Wie findet man ein XML-Dokument nach dem ersten Validierung gegen eine DTD in VB6 analysieren

StackOverflow https://stackoverflow.com/questions/467180

  •  19-08-2019
  •  | 
  •  

Frage

Ich bin versucht, einen XML-Parser in VB6 zu schreiben.
Die Standards, die die XML-basiert weg von kommt mit einer DTD die XML zu überprüfen, bevor Sie das Parsen beginnen. Ich habe auch eine XML-Beispieldatei geschrieben, so dass ich etwas mit dem testen.

Ich kann den XML über den VB6-Code laden

Dim objXMLDoc As MSXML.DOMDocument
Set objXMLDoc = New MSXML.DOMDocument  
If Not objXMLDoc.Load("sample.xml") Then  
----Goto ErrorHandler  
End If

XML-Arbeits

<?xml version = "1.0"?>  
<Root>  
...  
</Root>

Der Versuch, mit meiner DTD zu validieren

<?xml version = "1.0"?>  
<!DOCTYPE sample SYSTEM "sample.dtd">  
<Root>  
...  
</Root>

Die Forschung, die ich mich führte zu der Annahme, dass die Last des XML-Validierung würde, wenn die XML-DTD über den doc Typen hingewiesen.
Ich habe eine Menge Forschung getan und kann nicht herausfinden, wo ich falsch gehe. Es könnte so einfach sein wie der bereitgestellten DTD nicht syntaktisch korrekt ist, was ich jetzt mit Blick auf. Die Ressourcen, die ich habe, sind meist auf MSDN und hier http://www.jalix.org/ressources/internet/dom/~vrac/articles/XML%20DOM.html .
Sowohl die xml und dtd sind in demselben Verzeichnis befinden, und ich habe es Parsen der XML mit aus dem Doctype-Tag.

Der Fehler ich erhalte, ist:
Error #: -2146697211: Das System kann die resouce nicht finden spezifiziert. Fehlerverarbeitungsressource 'sample.dtd'

Jede zusätzliche Ressourcen oder Anregungen wäre sehr dankbar.

War es hilfreich?

Lösung

Ich kann deinen Fehler nicht reproduzieren. Es funktioniert ganz gut mit den beiden Dateien im selben Ordner für mich.

Es ist kein Problem der DTD auch nicht gut ausgebildet ist; dass wirft einen anderen Fehler. Ich bekomme die gleichen Fehler, wie Sie, wenn es nicht die DTD nicht finden, während ich Fehler -1072896757 bekommen ( „Ungültige Zeichen in DTD gefunden.“), Wenn es meinen (total Schein-) DTD findet.

Haben Sie versucht, mit einem anderen Microsoft XML Version, oder sind Sie gebunden an die alten Version 2.0 ? Versuchen Sie v6.0 , wenn möglich.

Andere Tipps

einen offensichtlichen Vorschlag, aber haben Sie versucht, voll und ganz den dtd Dateinamen der Qualifikation (das heißt c: \ blahblah ... \ sample.dtd

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top