Menyeruput XML dengan Groovy

Pada masa-masa awal penggunaan Java dalam hubungannya dengan XML, seringkali tampak lebih sulit daripada seharusnya menggunakan bahasa pemrograman Java dengan bahasa markup XML. Selain API DOM dan SAX yang tidak sepele dan sering kali diimplementasikan secara berbeda, cukup menemukan versi Xerces yang benar (dan yang lebih baru, Crimson) tanpa memiliki terlalu banyak versi yang bertentangan dari pustaka itu juga merupakan masalah umum. Lingkungan ini menyebabkan terciptanya proyek JDOM dan diterima secara berturut-turut. Perkembangan selanjutnya seperti pengenalan Java XML parsing API JAXP (JDK 1.4) dan penyertaan JAXB di Java SE 6 (dan library pengikat Java / XML lainnya tersedia secara terpisah) akan membuat parsing dan bekerja dengan XML di Java jauh lebih mudah . Groovy melanjutkan kemajuan dalam kemudahan integrasi Java / XML ini. Dalam posting blog ini, saya melihat bagaimana penggunaan Groovy 's XmlSlurper membuat penguraian XML sangat mudah dan hampir transparan.

Kode XML sederhana berikut akan digunakan untuk mendemonstrasikan XmlSlurper Groovy. File XML untuk contoh ini disebut RockAndRoll.xml.

RockAndRoll.xml

Potongan kode berikutnya menunjukkan beberapa kode Groovy menggunakan XMLSlurper untuk mencetak beberapa detail berdasarkan XML sumber ini. Skrip Groovy dalam hal ini disebut slurpXml.groovy.

slurpXml.groovy

#!/usr/bin/env groovy // slurpXml.groovy // Demonstrates use of Groovy's XML slurping. // albums = new XmlSlurper().parse("RockAndRoll.xml") albums.Album.each { println "${[email protected]}'s album ${[email protected]} was released in ${[email protected]}." it.Song.each { println "\tFeaturing ${[email protected]} that peaked in the U.S. at ${[email protected]}" } } 

Seperti yang ditunjukkan oleh kode Groovy di atas, hanya beberapa baris kode yang diperlukan untuk mengurai XML dan mencetak hasilnya sebagai bagian dari string yang lebih panjang. Hanya diperlukan satu baris new XmlSlurper().parse("RockAndRoll.xml")untuk mengurai XML sumber. Kemudian variabel tempat hasil tersebut ditetapkan (dalam hal ini, albums) menyediakan akses ke konten XML melalui sintaks yang sudah dikenal.

Ketika kode Groovy di atas dijalankan, hasilnya akan terlihat seperti yang ditunjukkan pada cuplikan layar berikut.

Panduan Pengguna Groovy memiliki bagian yang dikhususkan untuk cakupan Membaca XML Menggunakan XmlSlurper Groovy. Bagian ini menunjukkan masalah tambahan yang berkaitan dengan penggunaan Groovy XmlSlurper seperti menangani nama tag XML yang menyertakan tanda hubung (gunakan tanda kutip ganda di sekitar nama dengan tanda hubung disertakan) dan detail pencocokan namespace.

Kesimpulan

Karena Groovy benar-benar Java, Groovy dapat menggunakan banyak API penanganan XML untuk Java. Namun, Groovy dapat dan memang melampaui ini dan menyediakan API yang lebih mudah digunakan untuk manipulasi XML. Groovy's XmlSlurper adalah contoh bagaimana Groovy membuat pembacaan / penguraian / slurping XML lebih mudah dari sebelumnya.

Referensi Tambahan

Selain bagian Panduan Pengguna Groovy di XmlSlurper, ada banyak sumber daya online lainnya yang mencakup penggunaan XmlSlurper. Saya mendaftar beberapa di antaranya di sini.

• Membaca XML Menggunakan XmlSlurper Groovy

• Groovy: Memproses XML yang Ada (6 Maret 2009)

• Practically Groovy: Building, Parsing, and Slurping XML (19 May 2009)

• Nothing Makes You Want Groovy More than XML (12 March 2008)

• Memperbarui XML dengan XmlSlurper

• XMLSlurper yang asyik

Artikel ini, "Menyeruput XML dengan Groovy" awalnya diterbitkan oleh JavaWorld.