我要分析的XML如下所示:
<root>
<group>
<somethingelse>
<group></group>
</somethingelse>
</group>
</root>
如您所见,在另一个<group>
的层次结构中有一个<group>
。用BeautifulStoneSoup
解析它会将内部的<group>
放在外部的<group>
之外(参见下面的示例)。你知道吗
如何防止这种情况发生,并将内部<group>
保持在定义的位置?你知道吗
代码
from BeautifulSoup import BeautifulStoneSoup
xml = """
<root>
<group>
<somethingelse>
<group></group>
</somethingelse>
</group>
</root>
"""
def main():
doc = BeautifulStoneSoup(xml)
print doc.prettify()
if __name__ == '__main__':
main()
结果
<root>
<group>
<somethingelse>
</somethingelse>
</group>
<group>
</group>
</root>
升级到beautifulsoup4,并安装
lxml
解析器。此组合可正确处理XML:安装两个项目时使用:
您使用的是最新版本的BeautifulSoup吗?使用BeautifulSoup4,我成功地得到了:
结果是:
相关问题 更多 >
编程相关推荐