Saya pikir Anda tidak harus mempertimbangkan implementasi parser spesifik. API Java untuk Pemrosesan XML memungkinkan Anda menggunakan implementasi pengurai yang sesuai dengan cara standar. Kode harus jauh lebih portabel, dan ketika Anda menyadari bahwa parser tertentu sudah terlalu tua, Anda dapat menggantinya dengan yang lain tanpa mengubah baris kode Anda (jika Anda melakukannya dengan benar).
Pada dasarnya ada tiga cara penanganan XML dengan cara standar:
- SAX Ini adalah API paling sederhana. Anda membaca XML dengan mendefinisikan kelas Handler yang menerima data di dalam elemen / atribut ketika XML diproses secara serial. Lebih cepat dan sederhana jika Anda hanya berencana untuk membaca beberapa atribut / elemen dan / atau menulis beberapa nilai kembali (kasus Anda).
- DOM Metode ini membuat pohon objek yang memungkinkan Anda memodifikasi / mengaksesnya secara acak sehingga lebih baik untuk manipulasi dan penanganan XML yang kompleks.
- StAX Ini berada di tengah jalan antara SAX dan DOM. Anda cukup menulis kode untuk menarik data dari parser yang Anda minati ketika diproses.
Lupakan API eksklusif seperti JDOM atau Apache (mis. Apache Xerces XMLSerializer ) karena akan mengikat Anda dengan implementasi spesifik yang dapat berkembang dalam waktu atau kehilangan kompatibilitas, yang akan membuat Anda mengubah kode Anda di masa mendatang ketika Anda ingin meningkatkan ke versi baru JDOM atau parser apa pun yang Anda gunakan. Jika Anda tetap menggunakan API standar Java (menggunakan pabrik dan antarmuka) kode Anda akan jauh lebih modular dan dapat dipelihara.
Tidak perlu untuk mengatakan bahwa semua (saya belum memeriksa semua, tapi saya hampir yakin) dari parser yang diusulkan mematuhi implementasi JAXP sehingga secara teknis Anda dapat menggunakan semua, tidak peduli yang mana.