Apa itu XML?
XML bermaksud Bahasa Markup eXtensible. Ia dirancang untuk menyimpan dan mengangkut data dalam jumlah kecil hingga sederhana dan banyak digunakan untuk berkongsi maklumat tersusun.
Python membolehkan anda menghurai dan mengubahsuai dokumen XML. Untuk menguraikan dokumen XML, anda perlu menyimpan keseluruhan dokumen XML. Dalam tutorial ini, kita akan melihat bagaimana kita dapat menggunakan kelas minidom XML di Python untuk memuat dan mengurai fail XML.
Dalam tutorial ini, kita akan belajar-
- Cara Menghuraikan XML menggunakan minidom
- Cara Membuat Node XML
- Cara Menghuraikan XML menggunakan ElementTree
Cara Menghuraikan XML menggunakan minidom
Kami telah membuat contoh fail XML yang akan kami uraikan.
Langkah 1) Di dalam fail, kita dapat melihat nama depan, nama belakang, rumah dan bidang kepakaran (SQL, Python, Testing and Business)
Langkah 2) Setelah kami menguraikan dokumen, kami akan mencetak "nama simpul" dari akar dokumen dan " nama anak sulung" . Tagname dan nodename adalah sifat standard fail XML.
- Import modul xml.dom.minidom dan nyatakan fail yang harus dihuraikan (myxml.xml)
- Fail ini membawa beberapa maklumat asas mengenai pekerja seperti nama depan, nama belakang, rumah, kepakaran, dll.
- Kami menggunakan fungsi parse pada minidom XML untuk memuat dan mengurai fail XML
- Kami mempunyai doc berubah dan doc mendapat hasil dari fungsi parse
- Kami mahu mencetak nama samaran dan nama anak dari fail, jadi kami menyatakannya dalam fungsi cetak
- Jalankan kod- Ia mencetak nama samaran (#dokumen) dari fail XML dan nama tag anak pertama (pekerja) dari fail XML
Nota :
Nodename dan tag nama kanak-kanak adalah nama atau sifat standard dom XML. Sekiranya anda tidak biasa dengan jenis konvensyen penamaan ini.
Langkah 3) Kita juga boleh memanggil senarai tag XML dari dokumen XML dan dicetak. Di sini kami mencetak set kemahiran seperti SQL, Python, Testing dan Business.
- Nyatakan kepakaran berubah-ubah, dari mana kita akan mengekstrak semua nama kepakaran yang dimiliki oleh pekerja
- Gunakan fungsi standard dom yang dipanggil "getElementsByTagName"
- Ini akan mendapat semua elemen bernama kemahiran
- Menyatakan gelung atas setiap tanda kemahiran
- Jalankan kod- Ini akan memberikan senarai empat kemahiran
Cara Membuat 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" dalam fail XML kami.
- Anda harus membuat kod untuk menambahkan atribut baru (BigData) ke tag XML yang ada
- Kemudian anda harus mencetak tag XML dengan atribut baru yang ditambahkan dengan tag XML yang ada
- Untuk menambahkan XML baru dan menambahkannya ke dokumen, kami menggunakan kod "doc.create element"
- Kod ini akan membuat tag kemahiran baru untuk atribut baru kami "Big-data"
- Tambahkan tag kemahiran ini ke dalam dokumen anak pertama (pekerja)
- Jalankan kod- tag baru "big data" akan muncul dengan senarai kepakaran lain
Contoh Pengurai XML
Python 2 Contoh
import xml.dom.minidomdef utama ():# gunakan fungsi parse () untuk memuat dan mengurai fail XMLdoc = xml.dom.minidom.parse ("Myxml.xml");# mencetak simpul dokumen dan nama tanda anak pertamacetak doc.nodeNamecetak doc.firstChild.tagName# dapatkan senarai teg XML dari dokumen dan cetak masing-masingkepakaran = doc.getElementsByTagName ("kepakaran")cetak "% d kepakaran:"% kepakaran.panjanguntuk kemahiran dalam kepakaran:kemahiran mencetak.getAttribute ("nama")# buat tag XML baru dan tambahkan ke dalam dokumennewexpertise = doc.createElement ("kepakaran")newexpertise.setAttribute ("nama", "BigData")doc.firstChild.appendChild (pengetahuan baru)cetak ""kepakaran = doc.getElementsByTagName ("kepakaran")cetak "% d kepakaran:"% kepakaran.panjanguntuk kemahiran dalam kepakaran:kemahiran mencetak.getAttribute ("nama")jika nama == "__main__":utama ();
Python 3 Contoh
import xml.dom.minidomdef utama ():# gunakan fungsi parse () untuk memuat dan mengurai fail XMLdoc = xml.dom.minidom.parse ("Myxml.xml");# mencetak simpul dokumen dan nama tanda anak pertamacetak (doc.nodeName)cetak (doc.firstChild.tagName)# dapatkan senarai teg XML dari dokumen dan cetak masing-masingkepakaran = doc.getElementsByTagName ("kepakaran")cetak ("% d kepakaran:"% kepakaran. panjang)untuk kemahiran dalam kepakaran:cetak (skill.getAttribute ("nama"))# buat tag XML baru dan tambahkan ke dalam dokumennewexpertise = doc.createElement ("kepakaran")newexpertise.setAttribute ("nama", "BigData")doc.firstChild.appendChild (pengetahuan baru)cetak ("")kepakaran = doc.getElementsByTagName ("kepakaran")cetak ("% d kepakaran:"% kepakaran. panjang)untuk kemahiran dalam kepakaran:cetak (skill.getAttribute ("nama"))jika __nama__ == "__main__":utama ();
Cara Menghuraikan XML menggunakan ElementTree
ElementTree adalah API untuk memanipulasi XML. ElementTree adalah cara mudah untuk memproses fail XML.
Kami menggunakan dokumen XML berikut sebagai contoh data:
- SQL
- Python
Membaca XML menggunakan ElementTree:
kita mesti mengimport modul xml.etree.ElementTree terlebih dahulu.
import xml.etree.ElementTree as ET
Sekarang mari dapatkan elemen akar:
root = tree.getroot()
Berikut adalah kod lengkap untuk membaca data xml di atas
import xml.etree.ElementTree as ETtree = ET.parse('items.xml')root = tree.getroot()# all items dataprint('Expertise Data:')for elem in root:for subelem in elem:print(subelem.text)pengeluaran:
Expertise Data:SQLPython
Ringkasan:
Python membolehkan anda menguraikan keseluruhan dokumen XML sekaligus dan bukan hanya satu baris dalam satu masa. Untuk menguraikan dokumen XML, anda perlu menyimpan keseluruhan dokumen dalam memori.
- Untuk menghuraikan dokumen XML
- Import xml.dom.minidom
- Gunakan fungsi "parse" untuk menguraikan dokumen (doc = xml.dom.minidom.parse (nama fail);
- Panggil senarai teg XML dari dokumen XML menggunakan kod (= doc.getElementsByTagName ("nama tag xml")
- Untuk membuat dan menambahkan atribut baru dalam dokumen XML
- Gunakan fungsi "createElement"