Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries. It provides safe and convenient access to these libraries using the ElementTree API.
It extends the ElementTree API significantly to offer support for XPath, RelaxNG, XML Schema, XSLT, C14N and much more.
To contact the project, go to the project home page or see our bug tracker at https://launchpad.net/lxml
In case you want to use the current in-development version of lxml, you can get it from the subversion repository at http://codespeak.net/svn/lxml/trunk . Running easy_install lxml==dev will install it from http://codespeak.net/svn/lxml/trunk#egg=lxml-dev
ET.write(), tostring() and tounicode() now accept a keyword argument method that can be one of ‘xml’ (or None), ‘html’ or ‘text’ to serialise as XML, HTML or plain text content.
iterfind() method on Elements returns an iterator equivalent to findall()
itertext() method on Elements
Setting a QName object as value of the .text property or as an attribute will resolve its prefix in the respective context
ElementTree-like parser target interface as described in http://effbot.org/elementtree/elementtree-xmlparser.htm
ElementTree-like feed parser interface on XMLParser and HTMLParser (feed() and close() methods)
lxml failed to serialise namespace declarations of elements other than the root node of a tree
Race condition in XSLT where the resolver context leaked between concurrent XSLT calls
element.getiterator() returns a list, use element.iter() to retrieve an iterator (ElementTree 1.3 compatible behaviour)
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.