gpt4 book ai didi

python - 让 BeautifulSoup 荣誉 xml :space ="preserve"

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:07 27 4
gpt4 key购买 nike

我正在使用 BeautifulSoup 来解析 XML:

In [64]: b = bs4.BeautifulSoup('<xml><t xml:space="preserve">     </t><t xml:space="preserve">  A  </t></xml>', 'xml')
In [65]: b.find_all('t')
Out[65]: [<t xml:space="preserve"> </t>, <t xml:space="preserve"> A </t>]

因此,尽管有 xml:space="preserve" 属性,第一个 t 标记中的 5 个空格被折叠成 1 个。

有没有办法让 BeautifulSoup 尊重 xml:space="preserve" 而不是折叠空格?

最佳答案

关于 BeautifulSoup,我无法直接回答您。但是,lxml 可以为您做到这一点。

>>> from lxml import etree
>>> tree = etree.fromstring('<xml><t xml:space="preserve"> </t><t xml:space="preserve"> A </t></xml>')
>>> [_.text for _ in tree.findall('t')]
[' ', ' A ']

关于python - 让 BeautifulSoup 荣誉 xml :space ="preserve",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43832984/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com