获取错误“;无效谓词";在使用xpath时使用lxml
我有一个包含节目的xml文件。我想要一个xpath查询,从这个xml中获取一个条目 当使用QXmlEdit和Xmplify等工具查询xml以及以下查询时:获取错误“;无效谓词";在使用xpath时使用lxml,xml,python-3.x,xpath,lxml,Xml,Python 3.x,Xpath,Lxml,我有一个包含节目的xml文件。我想要一个xpath查询,从这个xml中获取一个条目 当使用QXmlEdit和Xmplify等工具查询xml以及以下查询时://sendung[standard/stammdaten/metadaten/idnr[text()=“11223344]” 我收到的正是我期待的结果。使用lxml在Python3.7上执行相同的查询不起作用 root.findall(".//dmb:sendung[dmb:standard/dmb:stammdaten/dmb:metada
//sendung[standard/stammdaten/metadaten/idnr[text()=“11223344]”
我收到的正是我期待的结果。使用lxml在Python3.7上执行相同的查询不起作用
root.findall(".//dmb:sendung[dmb:standard/dmb:stammdaten/dmb:metadaten/dmb:idnr[text()='{}']]".format(id), namespaces=self.__namespace_map)
我得到的错误是
SyntaxError:invalid predicate
如果使用xpath()
方法,它应该可以工作findall()
所有XPath 1.0。在表达式中,有两个功能不起作用:
- 嵌套谓词
节点测试text()
findall()
在XPath的使用方面是有限的(基本上与ElementTree相同)。尝试使用xpath()
而不是findall()
。