Home >>> Courses >>> Special Topics >>> XML with Python

What customers say ...

I really liked the training. It matched the expectations of a student. This training is amazing.

Deepti about the tutorial "Iterators, Generators and Decorators at EuroPython 2014" more...

Good course. Very competent trainer for this introduction. The course offers wide spectrum of topics and goes into depth were participants need it most.

Helmut Dittrich, CEO DiFis-Engineering UG, arrow-fix.com, about the German introduction to Django "Einstieg in Django" more...

Dr. Müller is (a) very good teacher .. (I) would highly recommend this course and also Dr. Müller for this course.

Dhiraj Surve, Suzlon.com about the course "Python for Programmers" more...

Mike is an outstanding teacher ... I will look for his classes in the future.

Jennifer Trasti, Software/Systems Engineer, Sandia National Laboratories, Albuquerque, NM, USA more...

A useful and quite comprehensive introduction to Python.

Emil Simon, Researcher about the course "Python for Scientists and Engineers" more...

High Performance XML with Python

Dates for Open Courses

Course available as open and in-house training. Currently no dates for open courses. Please ask us at info@python-academy.de

This course is given by the main author of lxml_, the leading XML library for Python.

Target Audience

The course targets medium level to experienced Python programmers who want to generate and/or process XML (and, to some extend, HTML) content efficiently. A basic understanding of XML is helpful but not required.


Since its early beginnings in 1998, the eXtensible Markup Language, XML, has grown into a standard markup language family for portable data formats. The major document formats, such as the Open Document Format (ODF) known from OpenOffice, or Microsoft's so-called OpenXML format, are based on XML, just like many application level networking protocols such as XML-RPC, SOAP or Jabber/XMPP. Many interfaces of business applications use either standardized, proprietary or ad-hoc XML formats, and their configuration files are often written in XML, too. And clearly, XML has left its fingerprint on the web through RSS/Atom feeds, Ajax interfaces and configurable browser GUIs (XHTML/XUL).

The support of XML in programming languages has constantly improved over the last decade. Today, developers can grab very efficient tools from their tool box that substantially simplify XML handling. Not surprisingly, the Python programming language has some very powerful tools available that often even beat their main contenders from the Java world in terms of performance, and easily in terms of usability.

The objective of this course if to get an understanding of important XML technologies, and to learn how to use the available tools by example.


Initially, the course will build up a common understanding of XML (specifically the XML Infoset) and some of its applications. The main theme then deals with efficient processing of XML (and a bit of HTML) in Python.

The presented tool set includes the ElementTree library that comes with Python since version 2.5, and the freely available lxml library that combines a compatible Python API with a large set of additional XML features.

Introduction to XML

  • XML and the XML Infoset
  • XML Namespaces
  • Dealing with XML formats

Fast XML processing

  • Parsing and serializing XML files
  • Extracting information from XML documents (tree navigation, XPath, CSS selectors)
  • Processing and transforming XML documents in main memory
  • Generating XML documents
  • Stream processing of large XML files that do not fit into main memory

Advanced topics

  • Creating proprietary XML formats
  • Validating XML formats with schema languages (e.g. RelaxNG, Schematron)
  • Binding XML documents to Python objects (lxml.objectify)
  • Creating application specific XML APIs with lxml
  • Introduction to stylesheet transformations (XSLT processing)

Note that the advanced topics are subject to time constraints. A choice will be made based on the interest of the participants.

Course Duration

2 days


The participants can follow all steps directly on their computers. There are exercises at the end of each unit providing ample opportunity to apply the freshly learned knowledge.

Course Material

Every participant receives comprehensive printed materials that cover the whole course content as wells a CD with all source codes and used software.

The Python Academy is sponsor of PyCon Montréal 2015.

[PyCon Montréal 2015]

The Python Academy is sponsor of Python BarCamp Köln 2015.

[Python BarCamp 2015]“ border=

The Python Academy is sponsor of Chemnitzer Linux-Tage 2015.

Chemnitzer Linux-Tage 2015 - 21. und 22. März 2015

The Python Academy is sponsor of Django Girls Wroclaw 2015.

[Django Girls Wroclaw 2015]

The Python Academy is sponsor of PyCon Ireland 2014.

[PyCon Ireland 2014]

The Python Academy is sponsor of EuroSciPy 2014.

[EuroSciPy 2014]

The Python Academy is sponsor of PyData London 2014.

[PyData London 2014]

The Python Academy is sponsor of EuroPython 2014.

[EuroPython 2014]

The Python Academy is sponsor of PyCon 2014 Montréal.

[PyCon 2014 Montréal]

The Python Academy is sponsor of Python BarCamp Köln 2014.

[Python BarCamp 2014]

The Python Academy is sponsor of PyConDE 2013.

[PyCon DE 2013]

The Python Academy is sponsor of EuroPython 2013.

[EuroPython 2013]

The Python Academy is sponsor of PyCon US 2013.

[PyCon US 2013]

The Python Academy is sponsor of EuroSciPy 2013.

[EuroSciPy 2013]

The Python Academy is sponsor of PyConPL 2012.

[PyCon PL 2012]


The next open cousers
details ...

Python Academy sponsors EuroPython conference 2013
details ...

Python Academy sponsors EuroSciPy conference 2013
details ...

Python Academy sponsors Python BarCamp in Cologne
details ...

Next Meeting of Leipzig Python User Group, November 12, 2013
details ...

Introduction to Django, November 11 - 13, 2013
details ...

Professional Testing with Python, November 25 - 27, 2013
details ...

Advanced Django, January 13 - 15, 2014
details ...

Python Academy sponsors PyCon US conference 2013
details ...

Python Academy founder receives PSF Community Service Award
details ...