Parser XML
XML (Extensible Markup Language) adalah bahasa markup untuk mengkodekan data terstruktur. Meskipun JSON telah menggantikan XML untuk banyak API web, XML tetap penting untuk sistem enterprise, layanan web SOAP, dan file konfigurasi. Alat ini mengurai dan memformat XML dengan indentasi yang tepat.
Spesifikasi
Kasus Penggunaan Umum
- Memformat permintaan dan respons API SOAP
- Membaca dan memvalidasi file Maven pom.xml
- Mengurai konten feed RSS dan Atom
- Men-debug file XML layout Android
- Memproses file grafis SVG
- Memeriksa file konfigurasi .NET (web.config, app.config)
Fitur
- Cetak rapi dengan indentasi yang tepat
- Mempertahankan namespace dan prefix
- Menangani bagian CDATA dan instruksi pemrosesan
- Menampilkan atribut di samping elemen
- Mengonversi ke JSON untuk pemrosesan programatis yang lebih mudah
- Memvalidasi struktur XML yang well-formed
Contoh
Maven POM
Coba →Model objek proyek Maven yang mendefinisikan dependensi.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
</project>Tips
- XML bersifat case-sensitive. <User> dan <user> adalah elemen yang berbeda.
- Semua elemen harus ditutup dengan benar. Gunakan <br/> untuk tag self-closing.
- Nilai atribut harus menggunakan tanda kutip (tunggal atau ganda).
- Gunakan bagian CDATA untuk konten yang mengandung karakter < atau &.
Pemahaman Parser XML
XML (Extensible Markup Language) adalah standar W3C untuk mengkodekan data terstruktur dalam format yang dapat dibaca manusia dan dapat diurai mesin. Berbeda dengan HTML yang memiliki kumpulan tag tetap, XML memungkinkan Anda mendefinisikan elemen dan atribut sendiri, menjadikannya meta-bahasa untuk membuat bahasa markup khusus domain. Spesifikasi 1.0 dipublikasikan pada tahun 1998 dan masih digunakan secara luas.
Ciri khas XML adalah sintaksnya yang ketat. Setiap tag pembuka harus memiliki tag penutup (atau self-closing). Atribut harus menggunakan tanda kutip. Elemen harus diatur secara bertingkat dengan benar. Dokumen yang mengikuti aturan ini disebut "well-formed". Dokumen yang juga sesuai dengan skema (DTD, XML Schema, atau RELAX NG) disebut "valid". Keketatan ini membuat XML dapat diandalkan untuk pertukaran data antara sistem yang mungkin dibangun dengan teknologi berbeda.
Namespace adalah mekanisme XML untuk menghindari tabrakan nama elemen. Namespace adalah URI yang dikaitkan dengan prefix (xmlns:soap="..."), memastikan bahwa <soap:Envelope> dan <html:body> dapat berdampingan dalam dokumen yang sama tanpa ambiguitas. Namespace sangat penting dalam layanan web SOAP, assertion SAML, grafis SVG, dan dokumen apa pun yang menggabungkan berbagai kosakata.
Meskipun JSON telah menggantikan XML untuk sebagian besar API web karena sintaksnya yang lebih ringan, XML tetap dominan dalam integrasi enterprise (SOAP, EDI), format dokumen (DOCX, XLSX, ODF), konfigurasi (Maven pom.xml, .NET web.config, layout Android), sindikasi (RSS, Atom), dan grafis vektor (SVG). Memahami XML sangat penting untuk bekerja dengan sistem lama, perangkat lunak enterprise, dan pipeline pemrosesan dokumen.
XML well-formed mengikuti aturan sintaks dasar: pengaturan bertingkat yang benar, tag yang ditutup, atribut dalam tanda kutip, dan satu elemen root. Parser XML apa pun dapat membaca XML well-formed. XML valid melangkah lebih jauh — sesuai dengan skema (DTD, XML Schema, atau RELAX NG) yang mendefinisikan elemen dan atribut apa yang diizinkan, urutannya, dan tipe datanya. Validasi bersifat opsional tetapi penting untuk pertukaran data di mana kedua pihak perlu menyepakati struktur dokumen.
Namespace mencegah tabrakan nama elemen dengan mengaitkan elemen dengan URI. Namespace dideklarasikan dengan xmlns:prefix="URI" dan kemudian digunakan sebagai prefix pada elemen (<prefix:element>). Namespace default (xmlns="URI" tanpa prefix) berlaku untuk elemen tersebut dan turunannya yang tidak dikualifikasi. URI tidak perlu menunjuk ke sumber daya aktual — hanya berfungsi sebagai pengidentifikasi unik. Bagian CDATA (<![CDATA[ ... ]]>) menyediakan cara untuk menyertakan konten yang mengandung karakter seperti < dan & tanpa meng-escape-nya sebagai < dan &. Ini berguna untuk menyematkan JavaScript, kueri SQL, atau fragmen HTML di dalam elemen XML.
XML menawarkan beberapa fitur yang tidak dimiliki JSON: namespace untuk menggabungkan kosakata, skema untuk validasi formal, atribut untuk metadata di samping konten elemen, instruksi pemrosesan, konten campuran (teks yang diselingi elemen), dan XSLT untuk transformasi deklaratif. XML adalah pilihan yang lebih baik untuk data berorientasi dokumen, integrasi enterprise yang kompleks, dan skenario yang memerlukan kontrak formal antara sistem. JSON lebih cocok untuk pertukaran data sederhana dalam aplikasi web di mana sintaksnya yang lebih ringan dan dukungan perkakas universal lebih penting daripada kekayaan struktural XML.