کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

پردازش XML با کلاس XmlPullParser

مبحث حاضر به شرح نحوه ی پردازش فایل های XML در اندروید می پردازد.

آموزش پردازش فایل های XML با استفاده از تحلیلگر نحوی XmlPullParser

زبان برنامه نویسی Java تعدادی کتابخانه ی استاندارد برای پردازش فایل های XML ارائه می دهد.
Java همچنین parser یا تحلیل گر نحوی Stax را ارائه می دهد که بین جاوا و بستر اجرای اندروید (platform) مشترک نیست.
محیط Android برای تحلیل گرامری (parse) و نوشتن در فایل XML از کلاس xmlPullParser استفاده می کند. این parser به گونه ای معادل Stax در جاوا است (اما جزئی از بستر اجرای جاوا یا Java SE نمی باشد). برای دسترسی به xmlPullParser می توانید به آدرس http://www.xmlpull.org/مراجعه نمایید.
جهت تحلیل گرامری و نوشتن در فایل های XML در محیط اجرای اندروید (Android Platform)، کلاس XmlPullParser توصیه می شود. این کتابخانه در مقایسه با SAX و DOM از توابع و API ساده تری برخوردار بوده، سرعت اجرای آن بالا است و نسبت به DOM API حافظه ی کمتری را اشغال می کند.

مثالی از کاربرد XmlPullParser

Javadoc این کتابخانه یک مثال کاربردی و مناسب در خصوص نحوه ی استفاده از آن ارائه می دهد (javadoc از توضیحات و مستندات نوشته در java source فایل HTML ایجاد می کند و برای دیگر توسعه دهندگان این امکان را فراهم می کند تا کد شما بهتر بفهمند).

import java.io.IOException;
 import java.io.StringReader;
 import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException.html;
 import org.xmlpull.v1.XmlPullParserFactory;
 public class SimpleXmlPullApp
 {
     public static void main (String args[])
         throws XmlPullParserException, IOException
     {
         XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
         factory.setNamespaceAware(true);
         XmlPullParser xpp = factory.newPullParser();
         xpp.setInput( new StringReader ( "Hello World!" ) );
         int eventType = xpp.getEventType();
         while (eventType != XmlPullParser.END_DOCUMENT) {
          if(eventType == XmlPullParser.START_DOCUMENT) {
              System.out.println("Start document");
          } else if(eventType == XmlPullParser.END_DOCUMENT) {
              System.out.println("End document");
          } else if(eventType == XmlPullParser.START_TAG) {
              System.out.println("Start tag "+xpp.getName());
          } else if(eventType == XmlPullParser.END_TAG) {
              System.out.println("End tag "+xpp.getName());
          } else if(eventType == XmlPullParser.TEXT) {
              System.out.println("Text "+xpp.getText());
          }
          eventType = xpp.next();
         }
     }
 }
1395/12/05 3974 2026
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...