Python merupakan salah satu bahasa yang ramah pada data dengan format XML, python menyediakan banyak library yang bisa anda gunakan untuk mengolah data dalam format XML.
Salah satu library bawaan dari python yaitu XML.SAX, library ini merupakan library default dari python 3.0, Untuk bisa menggunakan library ini pastikan di environment Anda library ini sudah terinstal.
Bagi Anda yang belum tau apa itu python environment dan bagaimana cara konfigurasi
python environment Anda bisa membacanya pada tutorial berikut:
Instalasi dan konfigurasi python virtual environment
install python environment wrapper di mac os
Apa Itu XML.SAX ?
Tidak seperti DOM ,
tidak ada spesifikasi formal untuk SAX. SAX memproses dokumen secara mandiri, berbeda dengan DOM yang digunakan untuk pemrosesan dokumen XML yang bergantung pada state.
SAX adalah interface standar untuk event-driven XML parser. Parsing XML dengan SAX umumnya mengharuskan Anda untuk membuat ContentHandler Anda sendiri dengan mensubklasifikasikan xml.sax.ContentHandler.
ContentHandler dapat menangani
tag dan atribut tertentu pada tagXML. Objek ContentHandler menyediakan metode untuk menangani berbagai event parser. Parser akan memanggil metode ContentHandler saat mem-parsing file XML.
Metode startDocument dan endDocument dipanggil di awal dan akhir file XML. Karakter metode (teks) dilewatkan oleh karakter dari file XML melalui teks parameter.
Membuat Interface XML Parser
Sebelum lanjut pada studi
kasus, buat terlebih dahulu file dengan nama sample.xml, perhatikan kode dibawah ini
viewBox="-105 -100 210 270" width="210" height="270"> Gambardella, Matthew XML Developer's Guide Computer 44.95 2000-10-01 An in-depth look at creating applications with XML.
Pada dasarnya library dibuat untuk mempermudah developer, hal ini karena developer hanya tinggal menggunakan fungsi-fungsi yang ada pada library tersebut. Oleh karena di butuhkan interface untuk menghubungkan parser dengan library fungsi yang sudah tersedia.
Pada kode berikut kita akan membuat sebuah interface dengan nama BookHanlder(), interface BookHandler digunakan untuk
memanggil fungsi parser pada library XML.SAX.
Buat sebuah file dengan nama sax_xml_handler.py, perhatikan kode berikut:
from xml.sax.handler import ContentHandler
class BookHandler(ContentHandler): def startPrefixMapping(self, prefix, uri): print(f"startPrefixMapping: {prefix=}, {uri=}")
def clean(element): element["value"] = element["value"].strip() for key in ("attributes", "children", "value"): if not element[key]: del element[key]
Pada interface BookHandler() terdapat atribut @property. Properti merupakan jenis atribut khusus yang akan di ekseskusi ketika diakses. Properti sebenarnya adalah metode yang ditandai
dengan dekorator @property.
Selanjutnya panggil interface BookHandler() dan perhatikan kode program berikut :
from xml.sax import parse import json from sax_xml_to_json import BookHandler
Selesai sudah bahasan kita tentang library XML.SAX, jika Anda ingin mengeksplore lebih jauh tentang library ini Anda bisa mengunjungi situs berukut: https://docs.python.org/3/library/xml.sax.html
Demo:
Baca artikel lainya:
Manage queue dengan celery dan RabbitMQ
Komponen-komponen data science python
Upload file s3 menggunakan boto3
Data frame dengan pandas dan SQLAlchemy
Alibaba cloud OSS client menggunakan python
Mailgun email template dengan python
Management command pada django framework
Mengolah data CSV dengan python pandas
*** artikel ini
dirangkum oleh penulis dari berbagai sumber, sebagai pengingat pada bahasa python