import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.util.Xml; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserFactory; import java.io.StringReader; public class MainActivity extends AppCompatActivity { XmlPullParser xmlPullParser=null; XmlPullParserFactory factory=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try{ xmlPullParser = Xml.newPullParser(); factory = XmlPullParserFactory.newInstance(); xmlPullParser = factory.newPullParser(); xmlPullParser.setInput(new StringReader("<username>serifgungor</username><password>sifr3m1234*</password>")); int eventType = xmlPullParser.getEventType(); String geciciUsername = ""; String geciciPassword = ""; String geciciIslem = ""; while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_DOCUMENT) { //Log.d("RESPONSE","Start document"); } else if (eventType == XmlPullParser.END_DOCUMENT) { //Log.d("RESPONSE","End document"); } else if (eventType == XmlPullParser.START_TAG) { geciciIslem = xmlPullParser.getName(); } else if (eventType == XmlPullParser.END_TAG) { } else if (eventType == XmlPullParser.TEXT) { if("username".equals(geciciIslem)){ geciciUsername = xmlPullParser.getText(); } if("password".equals(geciciIslem)){ geciciPassword = xmlPullParser.getText(); } } eventType = xmlPullParser.next(); } Log.d("RESPONSE","Kullanıcı Adı: " + geciciUsername); Log.d("RESPONSE","Şifre: " + geciciPassword); }catch (Exception e){ } } }
Kısaca açıklayacak olursak;
XmlPullParser ve XmlPullParserFactory sınıflarından birer nesne üretiyoruz. xmlPullParser'i Xml sınıfının bir kopyası olarak üretiyoruz. factory'i ise XmlPullParserFactory sınıfından türettik. xmlPullParser nesnesi, factory nesnesinin newPullParser metodu sayesinde dolduruluyor.
xmlPullParser nesnesinin içerisi ilk etapta boş, doldurabilmek için setInput metoduna argüman olarak xml string'i gönderiyoruz.
xmlPullParser'ın getEventType metodu ise bir tag'in açıldığı, kapandığı, tag içeriğinin okunduğu, xml dosyasının okunmaya başlandığı ve okunma işleminin bittiği durumları temsil ediyor.
Tabloda belirtecek olursak, getEventType metoduna tanımlanabilecek değerler şu şekilde;
XmlPullParser.START_DOCUMENT | XML Dosyası okuma işlemine başlandı. |
XmlPullParser.END_DOCUMENT | XML Dosyası okuma işlemi bitti. |
XmlPullParser.START_TAG | Bir açılış tag'i okundu. |
XmlPullParser.END_TAG | Bir kapanış tag'i okundu. |
XmlPullParser.TEXT | Açılış ve kapanış tagleri arasında bir yazı okundu |
İyi çalışmalar diliyorum
Toplam yorum sayısı: 0