[XML-SIG] elementtree, element.text = value problem and a couple other questions
Fredrik Lundh
fredrik at pythonware.com
Mon Dec 19 22:24:27 CET 2005
Fredrik Lundh wrote:
> here's a simple (and only lightly tested) in-place indenter:
>
> def indent(elem, level=0):
> i = "\n" + level*" "
> if len(elem):
> if not elem.text or not elem.text.strip():
> elem.text = i + " "
> for elem in elem:
> indent(elem, level+1)
> if not elem.tail or not elem.tail.strip():
> elem.tail = i
> else:
> if level and (not elem.tail or not elem.tail.strip()):
> elem.tail = i
which can, in fact, be simplified too:
def indent(elem, level=0):
i = "\n" + level*" "
if not elem.text or not elem.text.strip():
elem.text = i + " "
for elem in elem:
indent(elem, level+1)
if not elem.tail or not elem.tail.strip():
elem.tail = i
(however, this is perhaps a bit too clever...)
</F>
More information about the XML-SIG
mailing list