lxml.etree._Element' object has no attribute 'evaluate'
时间: 2023-09-27 16:09:00 浏览: 87
这个错误通常是因为在使用XPath表达式时,将其应用于一个`_Element`对象,而不是应用于`_ElementTree`对象。XPath表达式只能在整个XML文档上进行评估,而不是在单个元素上评估。因此,您需要将该元素作为整个XML文档进行处理。
您可以将该元素作为根元素创建一个`_ElementTree`对象,然后使用`xpath()`方法来评估XPath表达式。例如:
```
from lxml import etree
root = etree.fromstring('<bookstore><book><title>Harry Potter</title></book></bookstore>')
element = root.xpath('/bookstore/book/title')[0]
```
在这个例子中,我们使用`fromstring()`方法创建一个XML根元素。然后,我们使用XPath表达式`/bookstore/book/title`选择`title`元素。由于`xpath()`方法返回一个列表,我们使用`[0]`来获取第一个匹配项,也就是`title`元素本身。
希望这可以帮助您解决问题!
阅读全文