我有一个有效的XHTML文件。当我做的时候
import xml.etree.ElementTree as ET
print ET._namespace_map
它列出:
'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')
抱怨道:
SyntaxError: prefix 'html' not found in prefix map
是否可以使用find
语法找到ns:element
的名称间隔元素?
答案 0 :(得分:4)
您应该指定namespaces
参数:
namespaces = {'html': 'http://www.w3.org/1999/xhtml'}
root.find('html:head', namespaces=namespaces)
另见: