10
etree.tostring的默認縮進我有我使用lxml.etree.tostring
改變LXML
print etree.tostring(doc, pretty_print=True)
壓痕的默認級別爲2個空格的格式打印XML文檔,我想改變這到4個空格。在tostring
函數中沒有任何爭論;有沒有一種方法可以輕鬆地使用lxml來做到這一點?
etree.tostring的默認縮進我有我使用lxml.etree.tostring
改變LXML
print etree.tostring(doc, pretty_print=True)
壓痕的默認級別爲2個空格的格式打印XML文檔,我想改變這到4個空格。在tostring
函數中沒有任何爭論;有沒有一種方法可以輕鬆地使用lxml來做到這一點?
正如在this thread中所說,沒有真正的方法來改變漂亮打印的縮進。
但是,你可以:
代碼:
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