Penguraian Python XML

Pada artikel ini, kita akan membahas bagaimana cara mengurai XML dalam bahasa pemrograman python. Kami akan membahas beberapa contoh untuk memahami mekanisme penguraian XML dengan python.

Apa itu XML?

XML adalah singkatan dari eXtensible Markup Language. XML sangat mirip dengan HTML. XML digunakan untuk menyimpan dan mentransfer data, di mana HTML digunakan hanya untuk menampilkan data di browser. XML memungkinkan user untuk menyimpan dan mentransfer data dengan cara yang terorganisir.

Contoh File XML

Pengguna dapat menentukan tag mereka sendiri dalam file XML. Dalam contoh berikut, kami menggunakan tag yang ditentukan user seperti – <Student>. Untuk setiap tag, kita juga perlu memiliki tag penutup – </Student>. Pengguna dapat menentukan tag yang ditentukan user sebanyak yang mereka butuhkan. Berikut adalah contoh file XML:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<StudentsData FormatVersion="1">
    <Students>
        <Student Name="David" Type="Part-Time"></Student>

        <Student Name="Emma" Type="Full-Time"></Student>

        <Student Name="Noah" Type="Part-Time"></Student>

        <Student Name="Olivia" Type="Full-Time"></Student>

        <Student Name="Leo" Type="Full-Time"></Student>

        <Student Name="George" Type="Full-Time"></Student>

    </Students>
</StudentsData>

Mengurai perpustakaan dengan Python

Ada perpustakaan untuk mengurai data XML di sebagian besar bahasa pemrograman tingkat tinggi cararn. Ada beberapa perpustakaan untuk mengurai file XML dengan python:

  1. Minidom
  2. ElemenPohon

Namun, dalam artikel ini, kami akan fokus pada pustaka minidom untuk mengurai data XML. Minidom adalah implementasi minimal dari Document Object Model Interface. Ini sangat ringan dan lebih sederhana daripada DOM lengkap.

Contoh 1
Dalam contoh ini, pertama-tama kita mengimpor modul “xml.dom.minidom”. File XML yang akan diuraikan di sini adalah – sample.XML. File xml menyimpan beberapa informasi dasar tentang siswa – nama siswa dan nama bagian kelas. Fungsi parse sedang digunakan pada xml minidom untuk memuat dan mengurai file xml. Variabel mydoc mendapatkan hasil dari fungsi parse. Kemudian fungsi print digunakan untuk menampilkan nama node dan nama tag anak pertama.

import xml.dom.minidom

def main():
    # Load and parse XML file
    mydoc = xml.dom.minidom.parse("sample.xml")
   
    # prints the nodename and the tagname of the firstchild.
    print (mydoc.nodeName)
    print (mydoc.firstChild.tagName)
   
if __name__ == "__main__":
    main()

Contoh 2
Dalam contoh ini, kita akan melihat cara mendapatkan daftar tag XML dan mencetaknya. Kami mendeklarasikan variabel – “stud”. Variabel ini menampung semua siswa dari data siswa. Perulangan for mendapatkan semua data dengan nama tag “Nama”.

import xml.dom.minidom

def main():
    # Load and parse XML file
    mydoc = xml.dom.minidom.parse("sample.xml")
   
    # prints the nodename and the tagname of the firstchild.
    print (mydoc.nodeName)
    print (mydoc.firstChild.tagName)
   
    # get the XML tags
    stud = mydoc.getElementsByTagName ("Student")
    print ("No of students : %d" % stud.length)
   
for name in stud:
        print (name.getAttribute("Name"))
   
if __name__ == "__main__":
    main()

Contoh 3
Ini adalah contoh lain dari parsing XML menggunakan perpustakaan minidom. Dalam contoh ini, kita juga akan melihat cara membuat elemen xml baru. Pertama, kita akan memuat dan mengurai file XML yang diberikan, yaitu file “sample.xml”. Elemen XML baru dapat dibuat dengan menggunakan fungsi – fungsi createElement(). Setelah elemen dibuat, kita dapat menambahkannya ke elemen xml yang ada dengan menggunakan fungsi appendChild().

import xml.dom.minidom

def main():
   # Load and parse XML file
   myDoc = xml.dom.minidom.parse("sample.xml");
 
   # print document node and first child tag name
   print (myDoc.nodeName)
   print (myDoc.firstChild.tagName)
 
   # get the list of the XML tags
   studName = myDoc.getElementsByTagName("Student")
   print ("%d studName:" % studName.length)
   for sName in studName:
     print (sName.getAttribute("Name"))
   
   # Add new xml tags
   newStudName = myDoc.createElement("Student")
   newStudName.setAttribute("Name", "Paul")
   myDoc.firstChild.appendChild(newStudName)
   print (" ")

   # print all XML tags
   studName = myDoc.getElementsByTagName("Student")
   print ("%d studName:" % studName.length)
   for sName in studName:
     print (sName.getAttribute("Name"))
   
if __name__ == "__main__":
    main()

Kesimpulan

Artikel ini membahas secara singkat format file XML dan cara mengurai file XML dengan python. Ada beberapa perpustakaan untuk mengurai file XML dengan Python. Namun, dalam artikel ini, kita hanya membahas pustaka minidom dan melihat beberapa contoh untuk mengurai file xml dan menambahkan elemen xml baru.

Related Posts