سؤال

أنا أعمل على تطبيق موزع ويب Java. يستخدم تكوين XML الذي يحدد كيفية تقديم الموارد للعملاء. هناك بعض الموارد التي يتم إنشاؤها أثناء الطلبات. أقوم بمعالجة ملف التكوين الرئيسي مع معالج Saxparser مخصص.

في ملف التكوين ، أود إضافة جزء تعريف XML مضمن والذي يحتوي على عقدة الجذر لمستند XML قابلة للخدمة كعقدة طفل.

فمثلا:

<Resources>
  <!-- other resource definitions -->
  <EmbeddedXMLResource mapsForRequest="embedded.xml">
    <HiThere>
      <ThisIsAnEmbeddedXMLDocument/>
    </HiThere>
  </EmbeddedXMLResource>
  <!-- ... -->
</Resources>

أتساءل عما إذا كانت هناك أي طريقة لقراءة <HiThere> العقدة إلى مستند DOM أو على الأقل التقاط المحتويات الداخلية لـ <EmbeddedXMLResource> في سلسلة تخطي معالجة SAX؟

فكرت في وضع المحتوى المدمج في قسم CDATA. وبهذه الطريقة ، يمكنني قراءة XML المدمجة كعقدة نصية ، لكنني سأفقد تمييز بناء الجملة في المحررين على العقد المدمجة.

هل كانت مفيدة؟

المحلول

ربما...

  1. في البداية ، احصل على موضع البدء في الملف مع المحدد
  2. على endelement hithere الحصول على المركز النهائي أيضا.
  3. افتح مورد XML مع قارئ آخر ، واستخرج الجزء ذي الصلة كسلسلة ، وهلم جرا.

مضحك.

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