【问题标题】:BeautifulSoup not parsing arbitrary XML? For example - if there are tags called <body>BeautifulSoup 不解析任意 XML?例如 - 如果有名为 <body> 的标签
【发布时间】:2013-04-10 00:13:42
【问题描述】:

正在解析具有以下记录的 xml 文件:

<Message>
    <Subject>some text</Subject>
    <Body>some text</Body>
</Message>

但下面BeautifulSoup 上的“一些文本”会给出错误“NoneType 没有属性“文本”:

message.find('body').text

我可以在搜索/替换标签名称后解析文件,但这听起来很奇怪。 有没有办法让BeautifulSoup 解析任何 XML 结构而不丢弃记录?

【问题讨论】:

    标签: python parsing beautifulsoup


    【解决方案1】:

    您必须将'xml' 作为第二个参数传递给BeautifulSoup 的构造函数:

    soup = BeautifulSoup(your_xml, 'xml')
    

    【讨论】:

    • 谢谢,成功了。我还发现 html 解析器会将标签名称小写。 IE。使用 html 解析器 message.find('subject').text 工作,message.find('Subject').text 没有,但使用 xml 我必须使用正确的大小写。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多