我在某些Python中使用BS4使原始字符串看起来像一个好看的XML。
我正在使用它:
fileText = (BeautifulSoup(fileText, "xml").prettify())
它给我这样的输出:
<foobar>
<foo>
bar
</foo>
<foo>
bar2
</foo>
</foobar>
但我想:
<foobar>
<foo>bar</foo>
<foo>bar2</foo>
</foobar>
非常感谢任何帮助!
答案 0 :(得分:0)
from lxml import etree, html
doc = html.fromstring(fileText)
print(etree.tostring(doc, encoding='unicode', pretty_print=True))
根据dspjm对上述答案的评论,这也适用:
print(html.tostring(doc, encoding='unicode', pretty_print=True, method='xml'))
唯一的条件是使用method='xml'
时需要html.tostring
。
输出:
<foobar>
<foo>bar</foo>
<foo>bar2</foo>
</foobar>