sumber: http://javainsider.files.wordpress.com/2013/07/saxvsdom1.png |
Ada 2 cara untuk memparsing data XML khususnya di android, yaitu:
a.
Menggunakan
DOM (Document Object Model)
DOM
merupakan singkatan dari dari Document Object Model. DOM Parser menterjemahkan
dokumen XML dan menempatkan elemen-elemen yang ditemuinya ketika memproses
dokumen ke dalam struktur pohon. Informasi mengenai struktur dokumen kemudian
disimpan ke dalam memori. Informasi yang didapat digunakan program aplikasi
untuk mengakses dokumen XML.
Logika algoritma
menggunakan DOM diawali dengan membaca link sumber dari file XML dengan membuat
HTTP Request. Selanjutnya mem-parsing XML dan mengambil elemen DOM dari file
XML. Terakhir, mengambil isi dari setiap elemen sesuai dengan nama node elemen.
b.
Menggunakan
SAX
SAX
adalah singkatan dari Simple API for XML. API sendiri adalah singkatan dari
Application Program Interface. Seperti namanya, dibanding DOM Parser, isi
program SAX Parser lebih sederhana. SAX parser bekerja berdasarkan apa yang
disebut event-based. SAX Parser berjalan menjelajahi dokumen. Begitu SAX Parser
menemukan deklarasi sebuah elemen, ia akan mencatatnya dan menyimpannya dalam
suatu event-handler. Event-handler inilah yang menyediakan akses ke isi dokumen
XML.
Dari dua jenis
parser yang dibahas di atas, sebenarnya tidak ada parser yang dapat dikatakan
lebih unggul dari yang lain . Kedua Parser dapat dimanfaatkan secara optimal
tergantung pada sifat dokumen yang
hendak di-parse.
Bila dokumen XMLnya besar,
menggunakan DOM Parser akan banyak memakan memori untuk menampilkan dokumen
dalam struktur pohon . Maka, agan-agan
dianjurkan menggunakan SAX Parser karena lebih menguntungkan dari segi
penghematan resource.
Dan sebaliknya, untuk dokumen XML berskala
kecil, menggunakan DOM Parser lebih menguntungkan karena DOM Parser menyediakan
struktur yang “siap pakai”, sehingga memudahkan program aplikasi dalam
mengakses dokumen. Sedang bila
menggunakan SAX Parser, agan harus bekerja lebih keras dalam mengakses
dokumen XML, karena ia harus mendefinisikan sendiri struktur dokumen XMLnya.
Sehingga, program aplikasi yang dibuatnya lebih kompleks, akibatnya membebani
prosesor yang mengeksekusinya.
No comments:
Post a Comment