【文件属性】:
文件名称:利用命名空间解析XML文档-python cookbook(第3版)高清中文完整版
文件大小:4.84MB
文件格式:PDF
更新时间:2024-06-29 23:06:13
python cookbook 第3版 高清 中文完整版
如果你需要创建新的元素,可以使用本节方案中演示的 Element 类。我们在6.5小节已经
详细讨论过了。
6.7 利用命名空间解析XML文档
问题
你想解析某个XML文档,文档中使用了XML命名空间。
解决方案
考虑下面这个使用了命名空间的文档:
如果你解析这个文档并执行普通的查询,你会发现这个并不是那么容易,因为所有步骤都
变得相当的繁琐。
>>> # Some queries that work
>>> doc.findtext('author')
'David Beazley'
>>> doc.find('content')
>>> # A query involving a namespace (doesn't work)
>>> doc.find('content/html')
>>> # Works if fully qualified
>>> doc.find('content/{http://www.w3.org/1999/xhtml}html')
>>> # Doesn't work
>>> doc.findtext('content/{http://www.w3.org/1999/xhtml}html/head/title')
>>> # Fully qualified
>>> doc.findtext('content/{http://www.w3.org/1999/xhtml}html/'
... '{http://www.w3.org/1999/xhtml}head/{http://www.w3.org/1999/xhtml}title')
'Hello World'
>>>
你可以通过将命名空间处理逻辑包装为一个工具类来简化这个过程: