#python #xml #parsing #xml-parsing #elementtree
#python #xml #синтаксический анализ #xml-синтаксический анализ #elementtree
Вопрос:
У меня есть XML, сохраненный в виде строки «vincontents», отформатированной как таковая:
<response>
<data>
<vin>1FT7X2B69CEC76666</vin>
</data>
<data>
<vin>1GNDT13S452225555</vin>
</data>
</response>
Я пытаюсь использовать библиотеку elementtree Python для разбора значений VIN в массив или список Python. Меня интересуют только значения, а не теги.
def parseVins():
content = etree.fromstring(vincontents)
vins = content.findall("data/vin")
print vins
Выводит всю информацию о теге:
[<Element 'vin' at 0x2d2eef0>, <Element 'vin' at 0x2d2efd0> ....
Любая помощь будет оценена. Спасибо!
Ответ №1:
Использовать .text
свойство:
>>> import xml.etree.ElementTree as etree
>>> data = """<response>
... <data>
... <vin>1FT7X2B69CEC76666</vin>
... </data>
... <data>
... <vin>1GNDT13S452225555</vin>
... </data>
... </response>"""
>>> tree = etree.fromstring(data)
>>> [el.text for el in tree.findall('.//data/vin')]
['1FT7X2B69CEC76666', '1GNDT13S452225555']