Awalnya, bahasa XML hanya dimaksudkan sebagai pengganti bahasa HTML. Namun, seiring dengan perkembangan dan peningkatan bahasa, orang semakin menemukan kelebihannya: seperti bahasa markup yang dapat diperluas dan ketentuan sintaksis yang ketat, kemampuan untuk menggunakan markup yang bermakna, pemisahan penyimpanan dan presentasi konten, dan keunggulan lainnya membuat bahasa ini menjadi cemerlang sejak lahir. Bahasa XML telah memasuki periode perkembangan pesat setelah menjadi standar W3C. Tentu saja, serangkaian keunggulan dan keunggulannya juga telah membuat produsen teknologi besar menyukainya. Java, sebagai teknologi yang berkembang dalam industri perangkat lunak, juga telah berkembang pesat dibuat Sebagai tanggapan, berbagai alat telah muncul untuk mendukung XML Artikel ini akan memperkenalkan beberapa teknologi utama untuk memproses XML di Java dari perspektif ini.
Pustaka dan alat kelas luar biasa apa yang dimiliki Java untuk memfasilitasi pemrogram memproses XML?
Pengantar tiga metode parsing XML: DOM yang terkenal
Tidak berlebihan jika dikatakan bahwa DOM adalah API standar W3C untuk pemrosesan XML. Ini adalah dasar dari banyak standar lain yang terkait dengan pemrosesan XML, tidak hanya Java, tetapi juga bahasa lain seperti Javascript, PHP, MS.NET dan seterusnya. Standar ini telah menjadi metode pemrosesan XML yang paling banyak digunakan. Tentu saja, untuk menyediakan fungsi yang lebih kuat, Java memiliki banyak kelas alat ekstensi langsung untuk DOM, seperti JDOM, DOM4J, dll., yang akrab bagi banyak pemrogram Java. Mereka pada dasarnya merupakan perluasan dan mempertahankan fungsi antarmuka DOM banyak DOM. Karena karakteristik API, banyak programmer DOM asli telah menguasai penggunaan dua lainnya tanpa hambatan apa pun. Metode yang intuitif dan mudah dioperasikan membuatnya sangat disukai oleh sebagian besar programmer Java.
SAX yang ramah lingkungan dan ramah lingkungan
Munculnya SAX memiliki kebutuhan khusus. Mengapa dikatakan ramah lingkungan dan ramah lingkungan? Hal ini karena SAX menggunakan sumber daya sistem paling sedikit dan metode parsing tercepat untuk memberikan dukungan pemrosesan XML. Namun metode pencarian rumit yang menyertainya juga membawa banyak masalah bagi pemrogram, sering kali menyebabkan sakit kepala. Pada saat yang sama, dukungannya terhadap fungsi kueri XPath membuat orang menyukai dan membencinya.
Digester yang tidak jelas: JavaBeanization dari XML
Digester adalah proyek open source di bawah Apache Foundation. Pemahaman penulis berasal dari penelitian pada framework Struts. Apakah banyak programmer yang ingin memahami desain framework open source utama atau bahkan ingin menulis sendiri framework yang kuat? Anda akan menghadapi masalah seperti ini: Teknologi apa yang digunakan di bagian bawah kerangka kerja untuk mengurai berbagai file konfigurasi kerangka kerja yang ditandai dengan bahasa XML? Penguraian DOM memakan waktu, penguraian SAX terlalu rumit, dan overhead sistem dari setiap penguraian akan terlalu tinggi. Oleh karena itu, semua orang berpikir bahwa JavaBean yang sesuai dengan struktur XML harus digunakan untuk memuat informasi ini, dan lahirlah Digester. Kemunculannya membawa antarmuka operasi yang mudah digunakan pada kebutuhan untuk mengubah XML menjadi objek JavaBean, sehingga kebutuhan yang lebih serupa bisa mendapatkan solusi yang lebih sempurna, dan pemrogram tidak perlu lagi mengimplementasikan sendiri prosedur parsing yang rumit tersebut. Pada saat yang sama, SUN juga meluncurkan alat konversi XML dan JavaBean kelas JAXB, dan pembaca yang tertarik dapat mempelajarinya sendiri.
Mari kita lihat contoh XML penguraian dom Java:
impor java.io.*; impor org.w3c.dom.*; impor org.xml.sax.SAXException; impor javax.xml.parsers.*; pabrik = DocumentBuilderFactory.newInstance(); coba { Pembuat DocumentBuilder = pabrik.newDocumentBuilder(); pembangun.parse(File baru("E://work//test//xml1.xml")); NodeList nl = doc.getElementsByTagName("buku"); ); i++) { Sistem.keluar.println(nl.item(i).getAttributes().item(0)); System.out.println(doc.getElementsByTagName("title").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("title").item(i) .getAttributes ().barang(0)); System.out.println(doc.getElementsByTagName("author").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("year").item(i) .getFirstChild ().getNodeValue()); System.out.println(doc.getElementsByTagName("price").item(i) .getFirstChild().getNodeValue()); System.out.println(); ; } tangkapan (SAXException e) { e.printStackTrace(); e.printStackTrace();
xml:
<toko buku> <bookcategory="COOKING"> <title lang="en">Bahasa Italia Sehari-hari</title> <author>Giada De Laurentiis</author> <tahun>2005</tahun> <price>30.00</price > </book> <buku kategori="ANAK-ANAK"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <tahun>2005</tahun> <harga>29,99 </harga> </book> <bookcategory="WEB"> <title lang="en">Mempelajari XML</title> <author>Erik T. Ray</author> <tahun>2003</tahun> <harga>39,95< /harga> </buku> </toko buku>
hasil:
kategori="MEMASAK"Bahasa Italia Sehari-harilang="en"Giada De Laurentiis200530.00category="ANAK-ANAK"Harry Potterlang="en"J K. Rowling200529.99category="WEB"Belajar XMLlang="en"Erik T. Ray200339.95