lxml库的etree有哪些功能,能给我举点例子么
时间: 2024-02-13 12:04:48 浏览: 17
lxml 库中的 etree 模块是 Python 中一个非常强大的 XML 解析器。其主要的功能包括:
1. 解析 XML 文档:etree 模块可以将 XML 文档解析为一个 ElementTree 对象,从而方便地进行操作。例如,可以使用 etree.parse() 函数解析一个 XML 文件,或使用 etree.fromstring() 函数解析一个 XML 字符串。
2. 遍历 XML 树:etree 模块提供了一些函数和方法,可以方便地遍历 XML 树中的节点。例如,可以使用 Element.iter() 方法遍历树中的所有节点,或使用 Element.findall() 和 Element.find() 方法查找指定的节点。
3. 操作 XML 树:etree 模块提供了一些函数和方法,可以方便地操作 XML 树中的节点。例如,可以使用 Element.set() 方法设置节点的属性,或使用 Element.text 属性设置节点的文本内容。
4. 序列化 XML 文档:etree 模块可以将一个 ElementTree 对象序列化为 XML 文档,从而方便地保存到文件或传输到其他程序。例如,可以使用 ElementTree.write() 方法将一个 ElementTree 对象写入到一个文件中。
以下是一些 etree 模块的具体用法示例:
```python
# 解析 XML 文档
import xml.etree.ElementTree as etree
tree = etree.parse('example.xml')
root = tree.getroot()
# 遍历 XML 树
for child in root:
print(child.tag, child.attrib)
# 操作 XML 树
for child in root:
if child.tag == 'country':
child.set('population', '1000000')
child.text = 'New country'
tree.write('output.xml')
# 序列化 XML 文档
import xml.etree.ElementTree as etree
root = etree.Element('root')
for i in range(3):
child = etree.SubElement(root, 'child')
child.text = str(i)
etree.ElementTree(root).write('output.xml')
```
这些示例代码展示了 etree 模块的一些常见用法,包括解析 XML 文档、遍历 XML 树、操作 XML 树和序列化 XML 文档等。具体使用方法可以根据具体需求和情况来选择。