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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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