Python:BeautifulSoup在读取时自动更改文本?

时间:2014-07-19 01:18:33

标签: python xml xml-parsing beautifulsoup

我使用BeautifulSoup对XML文件进行更改,但我注意到如果我读入文件,将其放入构造函数中,只需将其吐出而不对其进行任何更改,BeautifulSoup已经对代码进行了一些更改。例如,标记和属性名称都是小写的,并且标记中的属性顺序会发生变化。

我务实地知道这不应该是一个问题,但是必须阅读XML文件的程序非常挑剔并且不会接受这些更改。我发现我可以使用没有BeautifulSoup的普通字符串操作进行更改,但这很不方便。

有没有办法阻止BeautifulSoup在阅读时对XML进行更改?

1 个答案:

答案 0 :(得分:1)

BeautifulSoup的工作原理是将XML解析为它理解的对象。当它写出XML时,它会写出对象中的数据,而不是已解析的原始字符串。

一种解决方案是使用BeautifulSoup解析XML,然后使用生成的api自定义XML以满足程序的要求。您可以制作custom pretty printeriterate through the elements,手动缩进并根据需要格式化数据。