Я пытаюсь выполнить синтаксический анализ XML и получить данные для file_name
и file_path
, но при запуске ниже ошибки может кто-нибудь помочь выяснить, почему и как его решить?Ошибка во время разбора XML
ВХОДА XML: -
<?xml version="1.0" ?>
<contents>
<build>
<name>modem</name>
<role>modem</role>
<chipset>mms1234</chipset>
</build>
<build>
<name>boot</name>
<role>boot</role>
<chipset>ms1234</chipset>
<device_programmer minimized="true">
<file_name>prog_emmc_house_4567_ddr.elf</file_name>
<file_path>images/comPkg/Msm4567Pkg/Bin64/</file_path>
</device_programmer>
<flash_programmer minimized="true">
</flash_programmer>
</build>
</contents>
КОД: -
contents_xml_file = r"device_programmer.xml"
print contents_xml_file
tree = ET.parse(contents_xml_file)
root = tree.getroot()
device_programmer = root.find("device_programmer")
file_name = device_programmer.get('file_name')
print file_name
file_path = device_programmer.get('file_path')
print file_path
ОШИБКА: -
Traceback (most recent call last):
File "script.py", line 37, in <module>
file_name = device_programmer.get('file_name')
AttributeError: 'NoneType' object has no attribute 'get'
что '[2]' в сборке [2] –
Второй 'build' тег под корень. –
выше xml - это просто пример, он не должен быть во 2-й позиции, он может быть где угодно в xml, требуется более общее решение. –