2009-08-06 13 views

Répondre

4

Comme indiqué dans this thread, il n'existe aucun moyen réel de modifier le retrait de la zone d'impression lxml.etree.tostring.

Mais, vous pouvez:

  • ajouter une transformation XSLT pour modifier le tiret
  • ajouter des espaces à l'arbre, avec quelque chose comme dans la bibliothèque cElementTree

Code:

def indent(elem, level=0): 
    i = "\n" + level*" " 
    if len(elem): 
     if not elem.text or not elem.text.strip(): 
      elem.text = i + " " 
     if not elem.tail or not elem.tail.strip(): 
      elem.tail = 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 
Questions connexes