Skip to main content

Worksheet 15.2 Parsing XML

Look at the code below and predict what will be printed.

Activity 15.2.1.

What is the last thing (last line of text) that will be printed when the code below runs?
Here is a simple application that parses some XML and extracts some data elements from the XML:

Activity 15.2.2.

Run this to see what it prints.
The triple single quote ('''), as well as the triple double quote ("""), allow for the creation of strings in Python that span multiple lines.
Calling fromstring converts the string representation of the XML into a โ€œtreeโ€ of XML elements. When the XML is in a tree, we have a series of methods we can call to extract portions of data from the XML string. The find function searches through the XML tree and retrieves the element that matches the specified tag. The get gets the value of the attribute in that tag.
Using an XML parser such as ElementTree has the advantage that while the XML in this example is quite simple, it turns out there are many rules regarding valid XML, and using ElementTree allows us to extract data from XML without worrying about the rules of XML syntax.

Using get to get the value of an attribute

Why do we use get to get the value of an attribute?
Look at the code below and predict what will be printed.

Note 15.2.1.

Just like with dictionaries we can use get to get the value of an attribute and if the attribute isnโ€™t there the default is to return None.

Getting Data from the First Element of a Type in XML

You can use find to get the first element of the XML of a specified type. You can the use find on that element to get children tags of that element.
What do you think would happen if we looked for the first โ€˜authorโ€™ in tree rather than in book? Modify the code to see what happens.

Fixing Errors in XML

If your XML has errors, what do you think will happen?
You have attempted of activities on this page.