Используя Python, я пытаюсь проанализировать файл XML, чтобы получить значение элемента на основе значения атрибута 'name' И значение дочернего элемента на основе значения атрибута 'name' какхорошо.
Условия:
Если атрибут категории равен 3 в элементе 'test', тогда возьмите значение атрибута 'name'
AND
Получить значение элемента 'color' ЕСЛИ значение атрибута 'name' равно 'enable'
Пример кода:
<test category="1">
<test category="2">
<test name="1" category="3">
<color name="disable">blue</color>
<color name="disable">yellow</color>
<color name="enable">red</color>
<color name="disable">orange</color>
</test>
<test name="2" category="3">
<color name="disable">green</color>
<color name="disable">purple</color>
<color name="enable">white</color>
<color name="disable">gray</color>
</test>
</test>
</test>
Ожидаемые результаты:
1 красный
2 белый
Мой текущий код:
import xml.etree.ElementTree as ET
tree = ET.parse('C:/colors.xml')
root = tree.getroot()
for test in root.getiterator('test'):
if test.attrib['category']=="3":
print test.attrib['name']
Это дает мне:
1
2
Я пробовал вложенный FORчтобы получить значение элемента цвета, но все, что я пробовал, кажется, начинается с самого начала.
Любая помощь будет оценена!
Спасибо