Penghuraian XML Python: Panduan Komprehensif
XML (Extensible Markup Language) ialah bahasa popular yang digunakan untuk menyimpan dan memindahkan data. Python menyediakan beberapa perpustakaan untuk menghuraikan XML. Dalam panduan ini, kami akan memperkenalkan anda kepada dua perpustakaan Python terbina dalam untuk menghuraikan XML: xml.dom.minidom dan xml.etree.ElementTree.
Langkah 1: Penghuraian XML Menggunakan xml.dom.minidom
Pustaka xml.dom.minidom membolehkan anda menghuraikan dokumen XML dengan Python. Untuk menghuraikan rentetan XML, gunakan kaedah parseString:
from xml.dom.minidom import parseString
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
document = parseString(xml_string)
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
Dalam kod di atas, kami menghuraikan rentetan XML dan mengekstrak tajuk buku.
Langkah 2: Penghuraian XML Menggunakan xml.etree.ElementTree
Pustaka xml.etree.ElementTree (ET) menyediakan cara yang lebih Pythonic untuk menghuraikan XML. Untuk menghuraikan rentetan XML, gunakan kaedah fromstring:
import xml.etree.ElementTree as ET
xml_string = """
<library>
<book>
<title>The Great Gatsby</title>
<author>F. Scott Fitzgerald</author>
<year>1925</year>
</book>
</library>
"""
root = ET.fromstring(xml_string)
for child in root.iter():
if child.text.strip():
print(child.text)
Dalam kod di atas, kami menghuraikan rentetan XML dan mencetak teks setiap elemen.
Langkah 3: Menghuraikan Fail XML
Kedua-dua minidom dan ElementTree boleh menghuraikan XML daripada fail menggunakan kaedah parse:
# Using minidom
from xml.dom.minidom import parse
document = parse("sample.xml")
print(document.getElementsByTagName("title")[0].firstChild.nodeValue)
# Using ElementTree
import xml.etree.ElementTree as ET
root = ET.parse("sample.xml")
for child in root.iter():
if child.text.strip():
print(child.text)
Kod di atas menunjukkan cara menghuraikan fail XML dan mencetak beberapa elemen.
Langkah 4: Menyimpan Data XML ke Fail CSV
Selepas menghuraikan XML, anda boleh menyimpan data ke fail CSV menggunakan pustaka panda:
import pandas as pd
parsed_dict = {
"title": ["The Great Gatsby"],
"author": ["F. Scott Fitzgerald"],
"year": [1925]
}
df = pd.DataFrame(parsed_dict)
df.to_csv("parsed_xml_data.csv", index=False)
Langkah 5: Mengendalikan XML Tidak Sah
Pustaka Beautiful Soup boleh menghuraikan dokumen XML yang mungkin mempunyai ralat:
from bs4 import BeautifulSoup
invalid_xml = """
<root>
<person>
<name>John Doe</name>
<message>This is a message & an invalid XML example.</message>
</person>
</root>
"""
soup = BeautifulSoup(invalid_xml, features="lxml-xml")
print(soup.prettify())
Beautiful Soup boleh mengendalikan XML yang tidak sah, tetapi ia lebih perlahan daripada perpustakaan penghuraian XML yang lain.
Komen (0)
Tiada ulasan di sini lagi, anda boleh menjadi yang pertama!