كيفية تحليل xml باستخدام sax parser
عند استخدام SAX لتحليل مستندات XML ، هناك تطبيقان رئيسيان يجب مراعاته: org. XML.SAX و Android.sax. كل تطبيق له مزايا وعيوب خاصة به. يتطلب الأمر التعامل يدويًا إلى مستمعي الأحداث لأحداث XML المختلفة ، مثل عناصر البدء/النهاية وبيانات الأحرف. على الرغم من أن هذا النهج يوفر مزيدًا من المرونة ، إلا أنه يمكن أن يؤدي إلى مزيد من الكود المطوّل والمتكرر.
// تهيئة Pojos (كائنات Java القديمة العادية) لتخزين بيانات XML قناة قناة خاصة ؛ عناصر العناصر الخاصة ؛ عنصر العنصر الخاص ؛ initem boolean الخاص = false ؛ محتوى StringBuilder الخاص ؛ @تجاوز startlement public void (سلسلة URI ، سلسلة محلية ، سلسلة QName ، السمات atts) يلقي saxexception { content = new StringBuilder () ؛ if (localname.equalsignorecase ("channel")) { قناة = قناة جديدة () ؛ } آخر إذا (localname.equalsignorecase ("item")) { initem = صحيح ؛ العنصر = عنصر جديد () ؛ } } // ... مستمعي الأحداث المتبقيون ... }
تنفيذ Android.sax
public class ExampleHandler extends DefaultHandler { // Initialize POJOs (Plain Old Java Objects) to store XML data private Channel channel; private Items items; private Item item; private boolean inItem = false; private StringBuilder content; @Override public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException { content = new StringBuilder(); if (localName.equalsIgnoreCase("channel")) { channel = new Channel(); } else if (localName.equalsIgnoreCase("item")) { inItem = true; item = new Item(); } } // ... Remaining event listeners ... }
مقارنة
تكرار
public class Example extends DefaultHandler { // POJOs to store XML data private Channel channel; private Items items; private Item item; public Example() { items = new Items(); } // Add event listeners for element events // ... Remaining code ... }سلبيات: مرونة محدودة في التعامل مع مجمع XML الهياكل
org.xml.sax:
مطوّلة ومتكررة الكود
بالنسبة للهياكل XML البسيطة والمحددة جيدًا ، يوفر Android.sax نهج تحليل مبسط. بالنسبة للهياكل الأكثر تعقيدًا ذات مستويات متفاوتة من علامات التكرار ، يوفر org.xml.sax تحكمًا أكبر مع معالجة الأحداث ذات المستوى المنخفض 机制.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3