这是我的xml数据 location city name New York/name typenon-capital/type /city city name London/name typecapital/type /city/location 使用lxmlPython from lxml import etree as ETparser = ET.XMLParser(recover=True)tree = ET.fromstring(xml
<location> <city> <name> New York</name> <type>non-capital</type> </city> <city> <name> London</name> <type>capital</type> </city> </location>
使用lxml&Python
from lxml import etree as ET parser = ET.XMLParser(recover=True) tree = ET.fromstring(xml_data,parser) print(tree.xpath('//city//name/text() | //city//type/text()'))
上面的代码有效但我想嵌套数组描述为[[‘New York’,’non-capital’],[‘London’,’capital’]]
什么是准确的xpath查询/查询/循环组合来获得上述内容?
这是一种可能的方式:....... result = [] for city in tree.xpath('//city'): result.append([city.find('name').text, city.find('type').text]) print(result) # output : #[[' New York', 'non-capital'], [' London', 'capital']]