У меня есть XML-файл со следующей структуройпоиск XML-тег с заданным значением
<?xml version="1.0" encoding="ISO-8859-1"?>
<application name="MyApp">
<component name="MyComponent">
<setting>
<name>mySetting</name>
<value>myValue</value>
</setting>
</component>
</application>
Теперь я хочу, чтобы выбрать эту настройку (только один единственный) в MyComponent
, который имеет название mySetting
. Я пробовал root.findall('./application/component/[@name="mySetting"]')
, но это дало мне NoneType
.
EDIT: текущий код выглядит следующим образом
import xml.etree.ElementTree as ET
xml = """<?xml version="1.0" encoding="ISO-8859-1"?>
<application>
<component name="MyComponent">
<setting>
<name>mySetting</name>
<value>myValue</value>
</setting>
</component>
</application>"""
root = ET.fromstring(xml)
settings = root.findall('./component/setting')
Кто-нибудь есть решение для этого?
Похоже, что вам не хватает «настройки» в запросе XPATH – mguijarr
@mguijarr Вы используете 'root.findall ('./ application/component/setting/[@ name =" mySetting "]')'? Не работает. Но, видимо, я даже не получаю никакого результата от 'root.findall ('./ application /')' – HimBromBeere
Попробуйте использовать '// application' – mguijarr