案例1:使用find分别获取每个标签
lan = tree.find('.//ax21:language', namespaces)
cn = tree.find('.//ax21:commonName', namespaces)
print(lan.text)
print(cn.text)
输出:
英语
非洲猎狗
如果你需要全部的话
langs = tree.findall(".//ax21:commonName", namespaces)
[i.text for i in langs]
['African hunting dog', 'African Wild Dog', 'Painted Hunting Dog']
如果你两个都需要的话我们可以用
[\[xpath
]]
1
`
2
a=tree.xpath('.//ax21:language |.//ax21:commonName',namespaces= {'ax21': 'http://data.itis_service.itis.usgs.gov/xsd'} )
[i.text for i in a]
Output:
['African hunting dog',
'English',
'African Wild Dog',
'English',
'Painted Hunting Dog',
'English']
在最后一种情况下,仅仅在xpath中提供namesapce变量是不够的,我们应该在xpath中提供它
namespaces= {'ax21': 'http://data.itis_service.itis.usgs.gov/xsd'}
格式