【发布时间】:2019-09-23 20:08:52
【问题描述】:
我有一个包含节目的 xml 文件。我想要一个 xpath 查询来从这个 xml 中获取一个条目。
使用 QXmlEdit 和 Xmplify 等工具查询 xml 时,使用以下查询://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
【问题讨论】:
-
我可能是错的,但我相信
findall()的 XPath 可以使用是有限的(基本上与 ElementTree 的限制相同)。尝试使用xpath()而不是findall()。
标签: xml python-3.x xpath lxml