id
English
Español
中國人
Tiếng Việt
Deutsch
Українська
Português
Français
भारतीय
Türkçe
한국인
Italiano
Gaeilge
اردو
Polski Mengurai XML adalah tugas yang umum dilakukan oleh para pengembang yang bekerja dengan pertukaran data, file konfigurasi, dan respons API. XML (eXtensible Markup Language) menyediakan format berbasis tag yang terstruktur dan dapat dibaca oleh mesin dan manusia. Baik Anda sedang membangun layanan integrasi atau membersihkan data untuk analisis, mengetahui cara menangani XML secara efisien menggunakan pustaka pengurai xml python dapat merampingkan alur kerja Anda secara signifikan.
XML adalah bahasa markup yang menyimpan data dalam struktur seperti pohon dengan elemen-elemen bersarang. Setiap item data dibungkus dengan tag pembuka dan penutup, yang dapat berisi atribut. Sebagai contoh:
<data>
<item>
<name>Item 1</name>
<price>10</price>
</item>
</data>
Pengembang sering kali perlu mengurai XML dalam Python ketika berurusan dengan API, migrasi data, atau pengaturan konfigurasi. Tidak seperti JSON, XML dapat menyertakan ruang nama, konten campuran, dan struktur bersarang, yang membuatnya lebih kompleks untuk diurai tanpa alat yang tepat.
Memilih pustaka pengurai XML Python yang tepat tergantung pada kasus penggunaan Anda:
ElementTree (bawaan): sederhana dan cepat, cocok untuk file XML kecil hingga menengah. import xml.etree.ElementTree as ET
minidom (bawaan): menyediakan model DOM lengkap, berguna untuk manipulasi pohon yang tepat. from xml.dom.minidom import parseString
BeautifulSoup (pihak ketiga): pengurai pemaaf, berguna untuk XML yang berantakan atau rusak. from bs4 import BeautifulSoup
lxml (pihak ketiga): cepat dan kuat, mendukung XPath, validasi skema. dari lxml import etree
Dalam banyak skenario dunia nyata, data XML disimpan dalam file - baik sebagai laporan yang diekspor, file konfigurasi, atau umpan data dari sistem lain. Python menyediakan beberapa opsi, dan pustaka pengurai xml python yang umum digunakan memudahkan untuk membuka berkas-berkas ini dan mengekstrak informasinya. Di bawah ini adalah contoh cara mengurai XML dari file lokal menggunakan pendekatan yang berbeda.
Untuk membaca file XML, pengguna Python sering kali memulai dengan ElementTree:
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
print(f"Name: {name}, Price: {price}")
Dengan minidom, Anda bekerja dengan pohon DOM:
from xml.dom.minidom import parse
dom = parse('example.xml')
items = dom.getElementsByTagName('item')
for item in items:
name = item.getElementsByTagName('name')[0].firstChild.data
price = item.getElementsByTagName('price')[0].firstChild.data
print(f"Name: {name}, Price: {price}")
Setelah mengekstrak informasi dari XML, sering kali berguna untuk mengubah data ke dalam format yang sesuai dengan Python. Dengan menggunakan pustaka pengurai xml python, Anda dapat dengan mudah mengubah XML menjadi kamus atau bingkai data, sehingga lebih mudah untuk diproses, dianalisis, atau diintegrasikan dengan alat bantu lain. Di bawah ini adalah dua pendekatan umum: mengonversi XML ke kamus untuk pemrosesan ringan, dan mengekspor XML ke CSV untuk analisis terstruktur dengan pandas.
Anda dapat mengubah XML menjadi kamus menggunakan fungsi rekursif. Hal ini membantu ketika bekerja dengan struktur data seperti JSON:
import xml.etree.ElementTree as ET
def xml_to_dict(element):
if len(element) == 0:
return element.text
return {child.tag: xml_to_dict(child) for child in element}
xml_data = ET.fromstring('<data><item><name>Item</name></item></data>')
print(xml_to_dict(xml_data))
Ini adalah contoh pengurai xml python praktis saat mengonversi data terstruktur ke format asli Python.
import pandas as pd
import xml.etree.ElementTree as ET
tree = ET.parse('example.xml')
root = tree.getroot()
rows = []
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
rows.append({'name': name, 'price': price})
df = pd.DataFrame(rows)
df.to_csv('output.csv', index=False)
Ketika XML rusak atau diunduh sebagian, gunakan lxml atau BeautifulSoup untuk penanganan yang toleran:
from bs4 import BeautifulSoup
try:
soup = BeautifulSoup(broken_xml, 'xml')
except Exception as e:
print("Error parsing XML:", e)
Strategi ini sangat berguna ketika Anda mem-parsing XML Python BeautifulSoup dalam tugas-tugas web scraping.
Beberapa masalah umum meliputi:
Menggunakan modul xml python yang tepat dan pra-pemrosesan yang cermat membantu menghindari jebakan ini.
Untuk mengurai XML dari URL langsung, gunakan permintaan dengan pengurai:
import requests
from bs4 import BeautifulSoup
url = "https://httpbin.org/xml"
response = requests.get(url)
soup = BeautifulSoup(response.content, 'xml')
for slide in soup.find_all('slide'):
title = slide.find('title').text
print(f"Title: {title}")
Teknik ini juga berguna ketika bekerja dengan API atau RSS feed. Ini adalah contoh kode python untuk mengurai file XML langsung dari web.
Python menawarkan berbagai alat untuk menangani XML - mulai dari tugas-tugas dasar hingga pemrosesan yang kompleks. Jika Anda mencari pengurai XML Python terbaik, pertimbangkan lxml untuk kecepatan, BeautifulSoup untuk kelonggaran, dan ElementTree untuk kesederhanaan. Pilihan Anda tergantung pada struktur data dan kebutuhan keandalan Anda. Mengetahui cara mem-parse XML dalam Python akan membekali Anda dengan keterampilan penting untuk bekerja dengan data eksternal, API, dan sistem lama.
Komentar: 0