lxml的常用方法
1. 从字符串解析HTML或XML:
```python
from lxml import etree
# 解析HTML
html = "<html><body><h1>Hello World</h1></body></html>"
tree = etree.HTML(html)
# 解析XML
xml = "<root><element>value</element></root>"
tree = etree.fromstring(xml)
```
2. 遍历XML或HTML元素:
```python
from lxml import etree
tree = etree.parse('file.xml')
root = tree.getroot()
# 遍历所有元素
for element in root.iter():
print(element.tag, element.text)
# 遍历特定标签的元素
for element in root.iter('tag'):
print(element.tag, element.text)
```
3. 获取元素的属性和文本内容:
```python
from lxml import etree
tree = etree.parse('file.xml')
root = tree.getroot()
# 获取元素的属性
element = root.find('tag')
attribute_value = element.get('attribute')
# 获取元素的文本内容
element_text = element.text
```
4. 查找元素:
```python
from lxml import etree
tree = etree.parse('file.xml')
root = tree.getroot()
# 根据路径查找元素
element = root.find('path/to/element')
# 根据标签查找元素列表
elements = root.findall('tag')
# 使用XPath查找元素
elements = root.xpath('//tag')
```
5. 修改元素的属性和文本内容:
```python
from lxml import etree
tree = etree.parse('file.xml')
root = tree.getroot()
# 修改元素的属性
element = root.find('tag')
element.set('attribute', 'new value')
# 修改元素的文本内容
element.text = 'new text'
# 将修改后的内容写入文件
tree.write('output.xml')
```
6. 创建新的元素和子元素:
```python
from lxml import etree
# 创建新的元素
new_element = etree.Element('tag', attrib={'attribute': 'value'})
# 添加子元素
new_child_element = etree.SubElement(new_element, 'child')
# 设置文本内容
new_child_element.text = 'text value'
```
这些是lxml库的一些常用方法和示例代码。你可以根据自己的需求使用这些方法来解析和处理XML或HTML文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix