ElementTree和带有命名空间的查找

4

I have a valid XHTML file. When I do

import xml.etree.ElementTree as ET
print ET._namespace_map

IT清单:

'http://www.w3.org/1999/xhtml': 'html'

当我执行以下操作时:

root.find('{http://www.w3.org/1999/xhtml}head')

它发现:

<Element '{http://www.w3.org/1999/xhtml}head' at 0x104647168>

但是当我执行以下操作时:

root.find('html:head')

IT出现问题:

SyntaxError: prefix 'html' not found in prefix map

使用findns:element语法,能否找到命名空间元素?

1个回答

5

好的,它可以工作,谢谢!但是 register_namespace_namespace_map 又有什么用呢? - Ecir Hana
@EcirHana register_namespace()本质上是一种新的方式(elementtree>=1.3)来操作_namespace_map,可以在这里了解它们的好处:http://effbot.org/zone/element-namespaces.htm。希望能有所帮助。 - alecxe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接