BeautifulSoup美化自定义换行选项

时间:2018-10-16 09:15:33

标签: python xml beautifulsoup prettify

我正在使用BeautifulSoup构建xml文件。

似乎我的两个选择是1)不格式化,即

<root><level1><level2><field1>val1</field1><field2>val2</field2><field3>val3</field3></level2></level1></root>

或2)带有美化功能的

<root>
 <level1>
  <level2>
   <field1>
    val1
   </field1>
   <field2>
    val2
   </field2>
   <field3>
    val3
   </field3>
  </level2>
 </level1>
</root>

但是我真的希望它看起来像这样:

<root>
    <level1>
        <level2>
            <field1>val1</field1>
            <field2>val2</field2>
            <field3>val3</field3>
        </level2>
    </level1>
</root>

我意识到我可以破解bs4来实现此结果,但是我想听听是否存在任何选项。

我不太担心4空格缩进(尽管那会很好),而对于在任何结束标记之后或在两个开始标记之间的换行更感到烦恼。我也很感兴趣这种格式化方式的名字,因为这对我来说似乎是最明智的方式。

1 个答案:

答案 0 :(得分:1)

您可以通过简单的Flux.create来实现所需的目标:

Flux.generate

打印:

html.HTMLParser