我正在使用BS4解析一个XML文件,并尝试将其写回一个新的XML文件。在
输入文件:
<tag1>
<tag2 attr1="a1"> example text </tag2>
<tag3>
<tag4 attr2="a2"> example text </tag4>
<tag5>
<tag6 attr3="a3"> example text </tag6>
</tag5>
</tag3>
</tag1>
脚本:
^{pr2}$输出:
<tag1>
<tag2 attr1="a1"> example text </tag2>
<tag3>
<tag4 attr2="a2"> example text </tag4>
<tag5>
<tag6 attr3="a3"> example text </tag6>
</tag5>
</tag3>
</tag1>
我想保留输入文件的缩进。我试着用漂亮的选项。在
输出美化:
<tag1>
<tag2 attr1="a1">
example text
</tag2>
<tag3>
<tag4 attr2="a2">
example text
</tag4>
<tag5>
<tag6 attr3="a3">
example text
</tag6>
</tag5>
</tag3>
</tag1>
但这不是我想要的。我想保持精确的压痕 在输入文件中。在
不幸的是你不能直接去。BeautifulSoup解析其输入,并且不保留原始格式的痕迹。在
因此,如果不修改XML,可以首先在内存中将其作为一个完整的字符串读取,然后将该字符串输入BS进行解析和测试,然后使用它写回新文件。在
如果要修改XML并使用特殊格式,则必须在BS树中导航并手动格式化它。在
相关问题 更多 >
编程相关推荐