Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Menguasai Parsing XML di Python: Panduan Praktis Menggunakan Minidom dan ElementTree

Apa itu XML?

XML, atau eXtensible Markup Language, dibuat untuk menyimpan dan mentransportir data terstruktur secara efisien. Ia banyak digunakan untuk bertukar informasi antara sistem dan aplikasi.

Python menyediakan perpustakaan yang kuat untuk parsing dan manipulasi dokumen XML. Namun, untuk memparsing file XML, seluruh dokumen harus dimuat ke dalam memori terlebih dahulu. Dalam tutorial ini kita akan demonstrasi cara menggunakan modul xml.dom.minidom dan xml.etree.ElementTree Python untuk membaca, memeriksa, dan memodifikasi file XML.

Pada akhir panduan ini Anda akan dapat:

Melakukan Parsing XML dengan minidom

Kita akan mulai dengan file XML contoh yang berisi data karyawan. File terlihat seperti ini:

Langkah 1) File mencantumkan nama depan karyawan, nama belakang, rumah, dan area keahlian seperti SQL, Python, Testing, dan Bisnis.

Menguasai Parsing XML di Python: Panduan Praktis Menggunakan Minidom dan ElementTree

Langkah 2) Setelah memuat dokumen, kita akan mencetak nodeName elemen root dan tagName anak pertama. Ini adalah properti standar dari objek DOM.

Menguasai Parsing XML di Python: Panduan Praktis Menggunakan Minidom dan ElementTree

Catatan: Nilai nodeName dan tagName mengikuti konvensi penamaan XML DOM, yang mungkin tidak familiar jika Anda baru dalam XML.

Langkah 3) Kita dapat mengekstrak daftar semua keterampilan dari dokumen. Kode berikut mendemonstrasikan cara mengumpulkan nama keterampilan ke dalam himpunan.

Menguasai Parsing XML di Python: Panduan Praktis Menggunakan Minidom dan ElementTree

Membuat Node XML Baru

Menambahkan data baru ke struktur XML yang ada adalah sederhana dengan minidom. Dalam contoh kita, kita akan menambahkan node expertise baru yang ditandai “BigData”.

  1. Buat elemen baru dengan createElement("expertise") dan atur atribut name.
  2. Tambahkan elemen baru ke anak root dokumen.

Menguasai Parsing XML di Python: Panduan Praktis Menggunakan Minidom dan ElementTree

Contoh Parser XML

Contoh Python 2

import xml.dom.minidom def main(): # Muat dan parsing file XML doc = xml.dom.minidom.parse("Myxml.xml") # Keluarkan informasi root print doc.nodeName print doc.firstChild.tagName # Daftar entri keahlian yang ada expertise = doc.getElementsByTagName("expertise") print "%d expertise:" % expertise.length for skill in expertise: print skill.getAttribute("name") # Tambahkan entri keahlian baru newexpertise = doc.createElement("expertise") newexpertise.setAttribute("name", "BigData") doc.firstChild.appendChild(newexpertise) print " " # Verifikasi penambahan expertise = doc.getElementsByTagName("expertise") print "%d expertise:" % expertise.length for skill in expertise: print skill.getAttribute("name") if __name__ == "__main__": main()

Contoh Python 3

import xml.dom.minidom def main(): # Muat dan parsing file XML doc = xml.dom.minidom.parse("Myxml.xml") # Keluarkan informasi root print(doc.nodeName) print(doc.firstChild.tagName) # Daftar entri keahlian yang ada expertise = doc.getElementsByTagName("expertise") print("%d expertise:" % expertise.length) for skill in expertise: print(skill.getAttribute("name")) # Tambahkan entri keahlian baru newexpertise = doc.createElement("expertise") newexpertise.setAttribute("name", "BigData") doc.firstChild.appendChild(newexpertise) print(" ") # Verifikasi penambahan expertise = doc.getElementsByTagName("expertise") print("%d expertise:" % expertise.length) for skill in expertise: print(skill.getAttribute("name")) if __name__ == "__main__": main()

Melakukan Parsing XML dengan ElementTree

ElementTree adalah API ringan yang membuat manipulasi XML sederhana dan Pythonic. Ini ideal untuk membaca file XML besar tanpa biaya overhead DOM penuh.

Data XML contoh kami:

<data> <items> <item name="expertise1">SQL</item> <item name="expertise2">Python</item> </items> </data>

Membaca XML dengan ElementTree:

Pertama, impor modul:

import xml.etree.ElementTree as ET

Parsing file dan dapatkan elemen root:

tree = ET.parse('items.xml') root = tree.getroot()

Berikut adalah kode lengkap untuk menampilkan semua nama keterampilan:

import xml.etree.ElementTree as ET tree = ET.parse('items.xml') root = tree.getroot() print('Expertise Data:') for elem in root: for subelem in elem: print(subelem.text)

Output:

Expertise Data: SQL Python

Ringkasan

Modul xml.dom.minidom dan xml.etree.ElementTree Python memberdayakan pengembang untuk memuat, menganalisis, dan memodifikasi dokumen XML secara efisien. Sementara minidom menyediakan representasi DOM penuh yang cocok untuk manipulasi kompleks, ElementTree menawarkan alternatif ringan untuk parsing dan ekstraksi yang sederhana.


Python

  1. Python File I/O: Menguasai Operasi File, Membaca, Menulis, dan Manajemen
  2. Membaca File di Java dengan BufferedReader – Panduan Praktis dengan Contoh
  3. Menguasai Metode strip() Python: Panduan Lengkap & Contoh Praktis
  4. len() Python: Panduan Praktis untuk Mengukur Panjang Objek
  5. Menguasai Yield Python: Generator vs Return – Panduan Praktis
  6. Python Counter di collections – Perhitungan, Pembaruan, dan Operasi Aritmetika
  7. Menguasai enumerate() Python: Loop dengan Indeks untuk List, Tuple, String, dan Dictionary
  8. Memeriksa Keberadaan File dan Direktori dalam Python – Panduan Praktis
  9. Python JSON: Enkoding, Dekoding, dan Penanganan File – Panduan Praktis
  10. Python List index() – Cara Mencari Posisi Elemen dengan Contoh Praktis