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

Python:BeautifulSoup在读取时自动更改文本?,python,xml,xml-parsing,beautifulsoup,Python,Xml,Xml Parsing,Beautifulsoup,我正在使用BeautifulSoup对XML文件进行更改,但我注意到,如果我读入该文件,将其放入构造函数,然后将其吐出,而不对其进行任何更改,BeautifulSoup已经对代码进行了一些更改。例如,标记和属性名称都是小写的,并且标记中属性的顺序也会更改 我知道实际上这不应该是一个问题,但必须读取XML文件的程序非常挑剔,不会接受这些更改。我发现我可以使用普通的字符串操作进行更改,而无需使用BeautifulSoup,但这很不方便 有没有一种方法可以防止BeautifulSoup在读取XML时对

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

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


有没有一种方法可以防止BeautifulSoup在读取XML时对其进行更改?

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


一种解决方案是使用BeautifulSoup解析XML,然后使用生成的api自定义编写XML以满足程序的要求。您可以根据需要对数据进行缩进或手动设置格式。

BeautifulSoup是一个HTML解析器。不要在XML上使用它。@minitech不完全准确。通过安装XML解析器库,BS可用于XML解析——包括您使用的代码、示例输入和预期输出。