Python File XML – Cara Membaca, Menulis & Mengurai
⚡ Ringkasan Cerdas
Python Pemrosesan XML memungkinkan Anda membaca, menulis, dan mengurai dokumen XML menggunakan modul minidom dan ElementTree bawaan. Kelas minidom memuat file ke dalam memori sebagai DOM, sementara ElementTree menawarkan cara yang lebih cepat dan lebih efisien. PythonAPI pohon ic.

Bagian-bagian di bawah ini membahas tentang penguraian, penulisan, dan pembacaan file XML. Python.
Apa itu XML?
XML adalah singkatan dari eXtensible Markup Language. Ini dirancang untuk menyimpan dan mengangkut data dalam jumlah kecil hingga menengah dan banyak digunakan untuk berbagi informasi terstruktur.
Python Memungkinkan Anda untuk mengurai dan memodifikasi dokumen XML. Untuk mengurai dokumen XML, Anda perlu memiliki seluruh dokumen XML di memori. Dalam tutorial ini, kita akan melihat bagaimana kita dapat menggunakan kelas XML minidom dalam Python untuk memuat dan mengurai file XML.
Cara Parsing XML menggunakan minidom
Kami telah membuat contoh file XML yang akan kami parsing.
Langkah 1) Buat Contoh file XML
Di dalam file tersebut kita dapat melihat nama depan, nama belakang, rumah, dan bidang keahlian (SQL, Python, Pengujian dan Bisnis).
Langkah 2) Gunakan fungsi parse untuk memuat dan mengurai file XML
Setelah kita menguraikan dokumen, kita akan mencetak "nama node" dari akar dokumen dan "nama tag anak pertama". Nama tag dan nama node adalah properti standar dari file XML.
- Impor modul xml.dom.minidom dan deklarasikan file yang harus diurai (myxml.xml).
- File ini membawa beberapa informasi dasar tentang seorang karyawan seperti nama depan, nama belakang, rumah, keahlian, dll.
- Kami menggunakan fungsi parse pada minidom XML untuk memuat dan mengurai file XML
- Kita memiliki variabel doc, dan doc mendapatkan hasil dari fungsi parse.
- Kita ingin mencetak nama node dan nama tag anak dari file, jadi kita mendeklarasikannya dalam fungsi print.
- Jalankan kode- Ini mencetak nama simpul (#dokumen) dari file XML dan nama tag anak pertama (karyawan) dari file XML
Note: Nodename dan child tagname adalah nama atau properti standar dari sebuah XML DOM.
Langkah 3) Panggil daftar tag XML dari dokumen XML dan cetaklah.
Selanjutnya, kita juga dapat memanggil daftar tag XML dari dokumen XML dan mencetaknya. Di sini kita mencetak kumpulan keterampilan seperti SQL, Python, pengujian dan Bisnis.
- Deklarasikan variabel keahlian, dari mana kita akan mengekstraktracsemua nama keahlian yang dimiliki karyawan
- Gunakan fungsi standar dom yang disebut “getElementsByTagName”
- Ini akan mendapatkan semua elemen bernama skill
- Deklarasikan perulangan untuk setiap tag keterampilan.
- Jalankan kodenya - Ini akan memberikan daftar empat keterampilan.
Cara Menulis Node XML
Kita dapat membuat atribut baru dengan menggunakan fungsi “createElement” dan kemudian menambahkan atribut atau tag baru ini ke tag XML yang ada. Kami menambahkan tag baru "BigData" di file XML kami.
- Anda harus menulis kode untuk menambahkan atribut baru (BigData) ke tag XML yang sudah ada.
- Kemudian, Anda harus mencetak tag XML dengan atribut baru yang ditambahkan ke tag XML yang sudah ada.
- Untuk menambahkan tag XML baru dan menambahkannya ke dokumen, kita menggunakan kode “doc.createElement”
- Kode ini akan membuat tag keterampilan baru untuk atribut baru kita "BigData".
- Tambahkan tag keterampilan ini ke dalam anak pertama dokumen (karyawan).
- Jalankan kodenya - tag baru "BigData" akan muncul bersama daftar keahlian lainnya.
Contoh Parser XML
Python 2 Contoh
import xml.dom.minidom def main(): # use the parse() function to load and parse an XML file doc = xml.dom.minidom.parse("Myxml.xml"); # print out the document node and the name of the first child tag print doc.nodeName print doc.firstChild.tagName # get a list of XML tags from the document and print each one expertise = doc.getElementsByTagName("expertise") print "%d expertise:" % expertise.length for skill in expertise: print skill.getAttribute("name") #Write a new XML tag and add it into the document newexpertise = doc.createElement("expertise") newexpertise.setAttribute("name", "BigData") doc.firstChild.appendChild(newexpertise) print " " expertise = doc.getElementsByTagName("expertise") print "%d expertise:" % expertise.length for skill in expertise: print skill.getAttribute("name") if name == "__main__": main();
Python 3 Contoh
import xml.dom.minidom def main(): # use the parse() function to load and parse an XML file doc = xml.dom.minidom.parse("Myxml.xml"); # print out the document node and the name of the first child tag print (doc.nodeName) print (doc.firstChild.tagName) # get a list of XML tags from the document and print each one expertise = doc.getElementsByTagName("expertise") print ("%d expertise:" % expertise.length) for skill in expertise: print (skill.getAttribute("name")) # Write a new XML tag and add it into the document newexpertise = doc.createElement("expertise") newexpertise.setAttribute("name", "BigData") doc.firstChild.appendChild(newexpertise) print (" ") expertise = doc.getElementsByTagName("expertise") print ("%d expertise:" % expertise.length) for skill in expertise: print (skill.getAttribute("name")) if __name__ == "__main__": main();
Cara Mengurai XML menggunakan ElementTree
ElementTree adalah API untuk memanipulasi XML. ElementTree merupakan cara mudah untuk memproses file XML.
Kami menggunakan dokumen XML berikut sebagai contoh data:
<data> <items> <item name="expertise1">SQL</item> <item name="expertise2">Python</item> </items> </data>
Membaca XML menggunakan ElementTree:
Pertama-tama kita harus mengimpor modul xml.etree.ElementTree.
import xml.etree.ElementTree as ET
Sekarang mari kita ambil elemen akarnya:
root = tree.getroot()
Berikut adalah kode lengkap untuk membaca data XML di atas:
import xml.etree.ElementTree as ET tree = ET.parse('items.xml') root = tree.getroot() # all items data print('Expertise Data:') for elem in root: for subelem in elem: print(subelem.text)
Keluaran:
Expertise Data: SQL Python




