Я пытаюсь проанализировать приведенный ниже XML-файл, но с трудностями получить конкретное значение элемента. Я пытаюсь указать элемент «Item_No_2», чтобы получить связанное значение <v>2222222222</v>
, но не могу сделать это с помощью get.element ('Item_No_2'). Я использую значение get.element неправильно?Значение элемента элемента Python для определенного элемента
XML файла:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="Data.xsl"?>
<abc>
<md>
<mi>
<datetime>20160822020003</datetime>
<period>3600</period>
<it>Item_No_1</it>
<it>Item_No_2</it>
<it>Item_No_3</it>
<it>Item_No_4</it>
<it>Item_No_5</it>
<it>Item_No_6</it>
<it>Item_No_7</it>
<ovalue>
<v>1111111111</v>
<v>2222222222</v>
<v>3333333333</v>
<v>4444444444</v>
<v>5555555555</v>
<v>6666666666</v>
<v>7777777777</v>
</ovalue>
</mi>
</md>
</abc>
Мой код:
from xml.etree.ElementTree import parse
doc = parse('test.xml').getroot()
for element in doc.findall('md/mi/'):
print(element.text)
for element in doc.findall('md/mi/ovalue/'):
print(element.text)
Ток на выходе получает их по отдельности, но я не могу понять, как вызвать определенное значение элемента.
Выход:
20160822020003
3600
Item_No_1
Item_No_2
Item_No_3
Item_No_4
Item_No_5
Item_No_6
Item_No_7
1111111111
2222222222
3333333333
4444444444
5555555555
6666666666
7777777777
попытался это, но не получилось:
for element in doc.findall('md/mi/ovalue/'):
print(element.get('Item_No_1'))
Спасибо за ответ. Вторая альтернатива с ZIP дает мне неправильный результат. Предоставляет 3333333 вместо 111111, вы знаете, почему? Мне нравится первый вариант, но можете ли вы рассказать мне, как получить индекс? – MBasith
использовать 'для элемента, значение в zip (doc.findall ('md/mi/it'), doc.findall ('md/mi/ovalue/v')):' – FujiApple
@FujiApple Спасибо, это сделало трюк получите результат, соответствующий элементу. Теперь мне просто нужно поиграть еще немного и выяснить, как я могу последовательно получить правильный совпадение в более крупном xml с несколькими элементами, которые не имеют переменное количество значений. Приветствия. – MBasith