I am using lxml to manipulate some existing XML documents, and I want to introduce as little diff noise as possible. Unfortunately by default [lxml.etree.XMLParser](http://codespeak.net/lxml/api/lxml.etree.XMLParser-class.html) doesn't preserve whitespace before or after the root element of a document:

```
>>> xml = '\n    <etaoin>shrdlu</etaoin>\n'
>>> lxml.etree.tostring(lxml.etree.fromstring(xml))
'<etaoin>shrdlu</etaoin>'
>>> lxml.etree.tostring(lxml.etree.fromstring(xml)) == xml
False

```

Is this possible using lxml? Is it supported by the underlying libxml2?