Получить значение нескольких дочерних элементов XML - PullRequest
0 голосов
/ 28 марта 2020

Предположим, что мой фрагмент XML содержал еще несколько элементов 'Result'. Как бы я подошел к получению имени и времени каждого результата? Желательно с l xml.

<data>
  <Results>
    <Result>
      <Name>Result1</Name>
      <Value>1</Value>
      <Time>1h</Time>
    </Result>
    <Result>
      <Name>Result2</Name>
      <Value>2</Value>
      <Time>5h</Time>
    </Result>
  </Results>
</data>

1 Ответ

0 голосов
/ 28 марта 2020

Попробуйте:

res = """your xml above"""
from lxml import etree

doc = etree.fromstring(res)
results = doc.xpath('//Results//Result')
for result in results:
    print(result.xpath('.//Name/text()'),result.xpath('.//Time/text()'))

Вывод:

['Result1'] ['1h']
['Result2'] ['5h']
...