我的XML看起来像:
...
<termEntry id="c1">
<langSet xml:lang="de">
...
我有密码:
from lxml import etree
...
for term_entry in root.iterfind('.//termEntry'):
print term_entry.attrib['id']
print term_entry.nsmap
for lang_set in term_entry.iterfind('langSet'):
print lang_set.nsmap
print lang_set.attrib
for some_stuff in lang_set.iterfind('some_stuff'):
...
我得到空的nsmap dict,我的attrib dict看起来像{'{http://www.w3.org/XML/1998/namespace}lang': 'en'}
文件在命名空间中不能包含xml:
,或者它可能具有不同的命名空间。如何知道标记声明中使用的命名空间?实际上,我只需要得到一个lang
属性,我不在乎使用了什么名称空间。我不想使用任何垃圾,比如lang_set.attrib.values()[0]
或其他具有已知名称的字段的查找。
目前没有回答
相关问题 更多 >
编程相关推荐