Python – lxml – «Ошибка в выражении xpath», даже если выражение действительноеPython

Программы на Python
Anonymous
Python – lxml – «Ошибка в выражении xpath», даже если выражение действительное

Сообщение Anonymous »

У меня есть следующая структура XML:

Код: Выделить всё

   













/PcdbVersionDate>




Bright White
OE Paint Code:PW7/GW7
1

ACC0362
1




Bright White
OE Paint Code:PW7/GW7
1

ACC0362
2


Мне нужно сопоставить некоторые записи из файла Excel на основе идентификатора BaseVehicle, идентификатора региона, примечания[1] и детали, после чего мне нужно обновить PartType или удалить элемент.
Код следующий:

Код: Выделить всё

for _, row in aces_excel.iterrows():
rowNo += 1
print(rowNo)
excelBaseVehicle = str(row['BaseVehicle'])
excelRegion = str(int(row['Region']))
excelPart = str(row['Part'])
excelNote = str(row['Note'])
excelPartTypeID = str(row['Part Term'])
status = str(row['Diff?'])

xpath_query = (
f".//App[BaseVehicle/@id='{excelBaseVehicle}' and "
f"Region/@id='{excelRegion}' and "
f"Note[1]='{excelNote}' and "
f"Part='{excelPart}']"
)
for app in root.xpath(xpath_query):
appPartType = app.find("PartType")
appPartType.set('id', excelPartTypeID)
Я продолжаю получать сообщение lxml.etree.XPathEvalError: ошибка в выражении xpath, хотя при всей моей отладке проблем с этим не было.
Не могли бы вы посоветовать мне, что не так?

Подробнее здесь: https://stackoverflow.com/questions/789 ... expression

Вернуться в «Python»