from lxml import etree和xpath的联系
时间: 2023-09-10 13:15:05 浏览: 161
from lxml import etree
`from lxml import etree` 是导入 lxml 库中的 ElementTree 模块,它提供了一种解析和操作 XML 文档的方式。而 XPath 是一种查询语言,用于在 XML 文档中查找信息,通常与 ElementTree 模块一起使用。
在使用 XPath 查询 XML 文档时,需要先将 XML 文档解析成 ElementTree 对象,然后使用 ElementTree 对象的 xpath() 方法进行查询。具体来说,可以使用 `etree.parse()` 函数将 XML 文件解析成 ElementTree 对象,然后使用该对象的 `xpath()` 方法进行查询。
例如,下面的代码演示了如何使用 lxml 和 XPath 从 XML 文件中查找所有 `<book>` 元素:
```python
from lxml import etree
# 解析 XML 文件
tree = etree.parse('books.xml')
# 使用 XPath 查找所有 book 元素
books = tree.xpath('//book')
# 打印结果
for book in books:
print(etree.tostring(book, encoding='unicode'))
```
在这个例子中,`etree.parse('books.xml')` 用于解析名为 `books.xml` 的 XML 文件,然后 `tree.xpath('//book')` 使用 XPath 查询所有 `<book>` 元素,并将结果存储在 `books` 列表中。最后,使用 `etree.tostring()` 函数将每个 `<book>` 元素以字符串形式打印出来。
阅读全文