Получение ошибки «неверный предикат» в lxml при использовании xpath - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть XML-файл, который содержит шоу.Я хочу получить запрос xpath, чтобы получить одну запись из этого xml.

При запросе xml с помощью таких инструментов, как QXmlEdit и Xmplify, и следующего запроса: //sendung[standard/stammdaten/metadaten/idnr[text() = '11223344' ]] я получаю именно тот результат, который ожидаю.Тот же запрос на python 3.7 с lxml не работает.

root.findall(".//dmb:sendung[dmb:standard/dmb:stammdaten/dmb:metadaten/dmb:idnr[text()='{}']]".format(id), namespaces=self.__namespace_map)

ошибка, которую я получаю, SyntaxError: invalid predicate

1 Ответ

0 голосов
/ 24 сентября 2019

Должно работать, если вы используете метод xpath().findall() не поддерживает все XPath 1.0.В вашем выражении есть две функции, которые не работают:

  • Вложенные предикаты.
  • Тест узла text().
...