1. XML Pendahuluan
XML (eXtensible Markup Language) mengacu pada bahasa markup yang dapat diperluas, yang dirancang untuk mengirimkan dan menyimpan data, dan telah menjadi inti dari banyak teknologi baru saat ini, dengan aplikasi yang berbeda di berbagai bidang. Ini adalah produk yang tak terelakkan dari pengembangan web ke tahap tertentu, yang memiliki karakteristik inti SGML, karakteristik HTML yang sederhana, dan banyak fitur baru seperti jelas dan terstruktur dengan baik.
pengujian. Berkas XML
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" passwd='123456'> <caption>Python</caption> <item id="4"> <caption>Tes</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog> Untuk pengenalan terperinci tentang XML, silakan lihat:http://www.w3school.com.cn/xmldom/dom_nodetype.asp
2. XML penguraian dokumen
Ada tiga metode umum untuk python mengurai XML: satu adalah modul xml.dom.*, yang merupakan implementasi dari W3C DOM API, yang sangat cocok jika Anda perlu memproses DOM API; Yang kedua adalah modul xml.sax.*, yang merupakan implementasi dari SAX API, yang mengorbankan kenyamanan untuk kecepatan dan jejak memori, dan SAX adalah API berbasis peristiwa, yang berarti dapat memproses sejumlah besar dokumen "di udara" tanpa harus memuatnya sepenuhnya ke dalam memori; Yang ketiga adalah modul xml.etree.ElementTree (disingkat ET), yang menyediakan API gaya Python yang ringan, yang jauh lebih cepat daripada DOM, dan ada banyak API menyenangkan yang dapat digunakan, dibandingkan dengan SAX, ET.iterparse ET juga menyediakan metode pemrosesan "di udara", tidak perlu memuat seluruh dokumen ke dalam memori, dan kinerja rata-rata ET mirip dengan SAX. Namun, API sedikit lebih efisien dan mudah digunakan.
2.1 xml.dom.*
Document Object Model (DOM) adalah antarmuka pemrograman standar yang direkomendasikan oleh organisasi W3C untuk menangani bahasa markup yang dapat diperluas. Ketika pengurai DOM mengurai dokumen XML, ia membaca seluruh dokumen sekaligus, menyimpan semua elemen dalam dokumen dalam struktur pohon dalam memori, dan kemudian Anda dapat menggunakan fungsi berbeda yang disediakan oleh DOM untuk membaca atau memodifikasi konten dan struktur dokumen, atau menulis konten yang dimodifikasi ke file xml. Gunakan xml.dom.minidom di Python untuk mengurai file xml.
a. Dapatkan subtag b. Label yang membedakan nama tag yang sama c. Dapatkan nilai atribut tag d. Mendapatkan data antar pasangan label
Hasil:
2.2 xml.etree.ElementTree
ElementTree lahir untuk menangani XML, dan ada dua implementasi dalam pustaka standar Python: satu adalah implementasi Python murni, seperti xml.etree.ElementTree, dan yang lainnya adalah xml.etree.cElementTree yang lebih cepat. Catatan: Cobalah untuk menggunakan bahasa C untuk menerapkannya, karena lebih cepat dan mengkonsumsi lebih sedikit memori.
a. Melintasi lapisan berikutnya dari simpul akar b. Akses subskrip ke tag, atribut, dan teks individual c. Temukan tag yang ditentukan di bawah root d. Melintasi file XML e. Modifikasi file XML
Hasil:
Terlampir:
2.3 xml.sax.*
SAX adalah API berbasis peristiwa yang menggunakan SAX untuk mengurai XML dalam dua bagian: parser dan penanganan peristiwa.
Parser bertanggung jawab untuk membaca dokumen XML dan mengirim peristiwa ke penanganan peristiwa, seperti peristiwa awal elemen dan akhir elemen
Pemroses peristiwa bertanggung jawab untuk menanggapi peristiwa dan memproses data XML yang diteruskan
Skenario umum:
(1) Memproses dokumen besar
(2) Hanya sebagian dari dokumen yang diperlukan, atau informasi spesifik hanya diperoleh dari file
(3) Saya ingin membangun model objek saya sendiri
|