こんなんどうでしょ

mitszoの日記 - XML を簡単に読み込みたいんだけど - Beautiful Soup で悩み中・・・
http://d.hatena.ne.jp/mitszo/20070530/1180535557

# vim: fileencoding=utf8

from lxml import etree
from StringIO import StringIO

xml = '<current><child><prop1 value="123" /><prop2 value="456" /></child></current>'

parser = etree.XMLParser()
et = etree.parse(StringIO(xml), parser)
print etree.tostring(et.getroot(), 'utf-8', pretty_print=True)

出力

<current>
  <child>
    <prop1 value="123"/>
    <prop2 value="456"/>
  </child>
</current>