【问题标题】:Python: BeautifulSoup changes text automatically when read?Python:BeautifulSoup 在阅读时会自动更改文本?
【发布时间】:2014-09-10 05:32:21
【问题描述】:

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

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

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

【问题讨论】:

标签: python xml xml-parsing beautifulsoup


【解决方案1】:

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

一种解决方案是使用 BeautifulSoup 解析 XML,然后使用生成的 api 将 XML 自定义写入程序的要求。您可以创建 custom pretty printer 或只是 iterate through the elements,手动缩进和格式化数据以满足您的需要。

【讨论】:

    猜你喜欢
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多