我最终直接使用BeautifulSoup。这就是lxml.html.soupparser用于解析HTML的东西。
BeautifulSoup有一个美化方法,可以完全按照其声明的方式进行。它使用适当的缩进和所有内容修饰HTML。
BeautifulSoup不会修复HTML,因此损坏的代码仍然损坏。但是在这种情况下,由于代码是由lxml生成的,因此HTML代码至少应在语义上正确。
在我的问题给出的示例中,我将必须这样做:
from BeautifulSoup import BeautifulSoup as bsroot = lh.tostring(sliderRoot) #convert the generated HTML to a stringsoup = bs(root) #make BeautifulSoupprettyHTML = soup.prettify() #prettify the html



