Ei vielä käännetty
Tätä sivua ei ole vielä käännetty suomeksi, joten se näytetään englanniksi. Auta kääntämään
xml Module¶
The xml module provides base functionality for parsing and manipulating XML documents, with submodules for DOM, SAX, and ElementTree.
Complexity Reference¶
| Operation | Time | Space | Notes |
|---|---|---|---|
| Parse XML | O(n) | O(n) | n = document size; DOM loads entire tree |
| DOM traversal | O(n) | O(n) | n = nodes; consider SAX for large files |
| XPath query | O(n) | O(n) | n = nodes searched; result depends on query |
XML Processing¶
Using ElementTree¶
import xml.etree.ElementTree as ET
# Parse XML - O(n)
tree = ET.parse('data.xml')
root = tree.getroot()
# Navigate tree - O(n)
for item in root.findall('item'):
name = item.find('name').text
price = item.find('price').text
print(f"{name}: {price}")
# Modify and save - O(n)
root.attrib['updated'] = 'True'
tree.write('modified.xml')
Creating XML¶
import xml.etree.ElementTree as ET
# Create root - O(1)
root = ET.Element('catalog')
# Add children - O(1) each
item = ET.SubElement(root, 'item')
item.set('id', '1')
name = ET.SubElement(item, 'name')
name.text = 'Product'
price = ET.SubElement(item, 'price')
price.text = '29.99'
# Save - O(n)
tree = ET.ElementTree(root)
tree.write('output.xml')