Midlet'lerde KXML ile bir XML resource'nu parse etme örneği
Giriş
Bu örnekte bir xml resource dosyasını KXML API'si ile parse edip değeri text box'ta gösteriyoruz. Bunun için önce KXML API'sinin source kodlarını indirip, jar'a eklememiz gerekir. (http://www.kxml.org) KXML Source kodlarını projenizin source kodlarının yanına koymak yeterlidir.
intro.xml dosyası jar'a eklenecektir. Bu dosyanın içeriğindeki message yazısı alınıp text box'ta gösterilecektir.
Midlet yüklendiğinde (startApp method'u çağrıldığında) bir TextBox nesnesi yaratılır. Daha sonra parseMessage method'u çağrılarak intro.xml dosyası içindeki mesaj yazısı alınır ve text box'ta gösterilir.
getParser() methodu resource dosyasından bir InputStream yaratıp XMLParser class'ının kurucusuna verir. XMLParser KXML API'sinde XML dökümanını parse etmek için kullanılır. parseMessage method'u önce XMLParser nesnesini alır. Burada en önemli class ParseEvent'tir. ParseEvent XML dökümanlarındaki element,attribute,text,entity vs. gibi yapıların özelliklerini tutur. İstediğimiz message elementinin text'tini almaktır. Bunun için dökümanın sonuna kadar sırasıyla ParseEvent'leri almamız gerekir. XMLParser nesnesinin read methodu bir sonraki ParseEvent'i verir. Dökümanın sonuna geldiğimizi
event=parser.read()).getType()!=Xml.END_DOCUMENT
şeklinde anlarız. İlk read methodu bize intro elementini verir. Bu elementin adı message olmadığı için döngü tekrar eder ve bir daha ki read methodu bize message elementini verir. message elementini bulduktan sonra read methodu çağrılırsa bu elementin içindeki text bulunmuş olur. Böylece istenen text bulunmuş olur.