lxml を使用して既存の XML ドキュメントを操作していますが、差分ノイズをできるだけ少なくしたいと考えています。残念ながら、デフォルトではlxml.etree.XMLParserはドキュメントのルート要素の前後の空白を保持しません:
>>> 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
これは lxml を使用して可能ですか? 基礎となる libxml2 でサポートされていますか?