كيف يمكن للمرء تحليل وثيقة XML بعد التحقق أولاً من التحقق من DTD في VB6

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

  •  19-08-2019
  •  | 
  •  

سؤال

أحاول كتابة محلل XML في VB6.
تأتي المعايير التي تستندها XML مع DTD للتحقق من XML قبل البدء في التحليل. لقد كتبت أيضًا نموذجًا لـ XML ، بحيث يكون لدي شيء لاختباره.

أنا قادر على تحميل XML عبر رمز VB6

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 الخاص بي (المزيج تمامًا).

هل حاولت استخدام مجموعة مختلفة Microsoft XML الإصدار ، أم أنك مرتبط بالقديم الإصدار 2.0؟ محاولة v6.0 اذا كان ممكنا.

نصائح أخرى

اقتراح واضح ، لكن هل حاولت تأهيل اسم ملف DTD بالكامل (أي C: blahblah ... sample.dtd؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top