我有一个 XML 文档,其内容如下:
<xml>
<web:Web>
<web:Total>4000</web:Total>
<web:Offset>0</web:Offset>
</web:Web>
</xml>
我的问题是如何使用 python 中的 BeautifulSoup 这样的库来访问它们?
xmlDom.web["Web"].总计?不起作用?
美丽汤 http://www.crummy.com/software/BeautifulSoup/本身不是 DOM 库(它不实现 DOM API)。更复杂的是,您在该 xml 片段中使用了命名空间。要解析特定的 XML 片段,您可以使用 BeautifulSoup,如下所示:
from BeautifulSoup import BeautifulSoup
xml = """<xml>
<web:Web>
<web:Total>4000</web:Total>
<web:Offset>0</web:Offset>
</web:Web>
</xml>"""
doc = BeautifulSoup( xml )
print doc.find( 'web:total' ).string
print doc.find( 'web:offset' ).string
如果您没有使用命名空间,代码可能如下所示:
from BeautifulSoup import BeautifulSoup
xml = """<xml>
<Web>
<Total>4000</Total>
<Offset>0</Offset>
</Web>
</xml>"""
doc = BeautifulSoup( xml )
print doc.xml.web.total.string
print doc.xml.web.offset.string
这里的关键是 BeautifulSoup 不知道(或关心)关于命名空间的任何事情。因此web:Web
被视为web:web
标签而不是作为Web
标签属于web
命名空间。虽然 BeautifulSoup 添加了web:web
到xml元素字典,python语法无法识别web:web
作为单个标识符。
您可以通过阅读以下内容了解更多信息文档 http://www.crummy.com/software/BeautifulSoup/documentation.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)