Python-lxml
from lxml import etree from lxml.etree import HTMLParser text=''' <?xml version="1.0"?> <data> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank>68</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country> </data> ''' html=etree.HTML(text,etree.HTMLParser()) #//为以下所有节点 /为子节点 #读取值 #result=html.xpath('//data//rank/text()') #读取属性值 result=html.xpath('//data//country/@name') print(result) print(type(result))