What is the method for parsing XML in Python?
Python offers multiple options for parsing XML files, with two commonly used methods being DOM and SAX.
- Parsing XML using the DOM method involves loading the entire XML document into memory and constructing a tree structure. This allows for accessing and modifying the content of the XML file through the properties and methods of the node objects.
- Sample code:
- “`python
import xml.dom.minidom# Open XML file
dom = xml.dom.minidom.parse(‘example.xml’)# Get the root node
root = dom.documentElement# Get child nodes
elements = root.getElementsByTagName(‘element’)# Iterate through child nodes
for element in elements:
# Get node attributes
attr = element.getAttribute(‘attr’)
print(attr)# Get node text content
text = element.firstChild.data
print(text)
“` - Using the SAX method to parse XML: SAX is an event-driven parsing approach where an event handler is defined to parse an XML file line by line. When the parser encounters events like start tags, end tags, character data, it triggers corresponding event handling methods.
- Sample code:
- import xml.sax
# Define event handler
class MyHandler(xml.sax.ContentHandler):
def startElement(self, name, attrs):
# Method for handling start tag events
print(“Start element:”, name)def endElement(self, name):
# Method for handling end tag events
print(“End element:”, name)def characters(self, content):
# Method for handling character data events
print(“Content:”, content)# Create parser
parser = xml.sax.make_parser()# Set event handler
handler = MyHandler()
parser.setContentHandler(handler)# Parse XML file
parser.parse(‘example.xml’)
There are two commonly used methods for parsing XML, choose the method that best suits your needs for usage.