Python:
XML:n käsittely
Kuinka:
Pythonin xml.etree.ElementTree
-moduuli tarjoaa työkalut XML:n käsittelyyn.
Jäsennä XML-dokumentti:
import xml.etree.ElementTree as ET
xml_data = """<?xml version="1.0"?>
<library>
<book>
<title>Learning Python</title>
<author>Mark Lutz</author>
</book>
<book>
<title>Programming Python</title>
<author>Mark Lutz</author>
</book>
</library>
"""
root = ET.fromstring(xml_data)
for book in root.findall('book'):
title = book.find('title').text
author = book.find('author').text
print(f'Otsikko: {title}, Tekijä: {author}')
Esimerkkitulo:
Otsikko: Learning Python, Tekijä: Mark Lutz
Otsikko: Programming Python, Tekijä: Mark Lutz
Luo XML-dokumentti:
library = ET.Element('library')
book = ET.SubElement(library, 'book')
title = ET.SubElement(book, 'title')
title.text = 'Automate the Boring Stuff with Python'
author = ET.SubElement(book, 'author')
author.text = 'Al Sweigart'
tree = ET.ElementTree(library)
tree.write('library.xml')
Syväsukellus:
XML on ollut olemassa 90-luvun lopulta lähtien, luotu SGML:n yksinkertaistetuksi alajoukoksi helppoa verkkodatan jakamista varten. Huolimatta JSON:n suosion kasvusta web-datan alueella, XML on edelleen tärkeä monissa enterprise-, konfiguraatio- ja webservices-sovelluksissa (SOAP, RSS).
Vaihtoehtoja xml.etree.ElementTree
:lle ovat lxml
ja minidom
. lxml
on nopeampi ja ominaisuuksiltaan rikkaampi, kun taas minidom
tarjoaa enemmän “DOM-tyylisen” XML-rajapinnan. Valinnoissa kannattaa harkita käytön helppoutta, suorituskykyä ja erityisiä ominaisuusvaatimuksia.
Sisäisesti ElementTree
toimii elementtipuumallilla, jossa XML-tiedoston jokainen osa on solmu puussa. Tämä mahdollistaa suoraviivaiset polkulausekkeet ja haut, mikä tekee XML-datan rakenteen navigoinnista ja manipuloinnista helpompaa.
Katso myös:
- Python
xml.etree.ElementTree
-moduuli: https://docs.python.org/3/library/xml.etree.elementtree.html lxml
: https://lxml.de/- W3Schools XML-opas: https://www.w3schools.com/xml/
- XML-spesifikaatio: https://www.w3.org/XML/