VB6에서 DTD에 대해 먼저 검증 한 후 XML 문서를 구문 분석하는 방법
문제
VB6에 XML 파서를 작성하려고합니다.
XML을 기반으로하는 표준에는 구문 분석을 시작하기 전에 XML을 확인하기 위해 DTD가 제공됩니다. 또한 테스트 할 내용이 있도록 샘플 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과 여기에 있습니다. http://www.jalix.org/ressources/internet/dom/dom/com/dom/dom/com/cml%20dom.html.
XML과 DTD는 모두 동일한 디렉토리에 있으며 DocType 태그를 사용하여 XML을 구문 분석합니다.
내가 얻는 오류는 다음과 같습니다.
오류 번호 : -2146697211 : 시스템은 지정된 Resouce를 찾을 수 없습니다. 오류 처리 리소스 'Sample.dtd'
추가 자료 또는 제안은 크게 감사 할 것입니다.
해결책
나는 당신의 오류를 재현 할 수 없습니다. 나에게 동일한 폴더의 두 파일 모두에서 잘 작동합니다.
DTD가 잘 형성되지 않은 문제는 아닙니다. 다른 오류가 발생합니다. 오류가 발생하는 동안 DTD를 찾을 수없는 경우와 같은 오류가 발생합니다. -1072896757
( "DTD에서 발견 된 잘못된 캐릭터") 내 (완전히 가짜) DTD를 찾으면.
다른 것을 사용해 보셨습니까? Microsoft XML 버전, 아니면 오래된 것과 묶여 있습니까? 버전 2.0? 노력하다 v6.0 가능하다면.
다른 팁
명백한 제안이지만 DTD Filename (예 : C : Blahblah ... sample.dtd를 완전히 자격을 갖추셨습니까?