python解析xml文件
时间: 2024-01-10 21:44:14 浏览: 85
Python提供了许多库来解析XML文件,其中最常用的有以下几种:
1. ElementTree:Python自带的解析库,简单易用,但是不支持XPath等高级功能。
2. lxml:基于C语言开发的高性能解析库,支持XPath等高级功能。
3. BeautifulSoup:基于HTML和XML的解析库,可以使用CSS选择器和XPath等高级功能。
下面以ElementTree为例介绍如何解析XML文件:
1. 导入ElementTree库
```python
import xml.etree.ElementTree as ET
```
2. 加载XML文件
```python
tree = ET.parse('filename.xml')
```
3. 获取根节点
```python
root = tree.getroot()
```
4. 遍历节点
```python
# 遍历所有子节点
for child in root:
print(child.tag, child.attrib)
# 遍历指定子节点
for elem in root.iter('elem'):
print(elem.tag, elem.attrib)
# 遍历所有节点
for elem in tree.iter():
print(elem.tag, elem.attrib)
```
5. 获取节点属性和内容
```python
# 获取节点属性
for elem in root.iter('elem'):
print(elem.get('attr'))
# 获取节点内容
for elem in root.iter('elem'):
print(elem.text)
```
6. 修改节点属性和内容
```python
# 修改节点属性
for elem in root.iter('elem'):
elem.set('attr', 'new_value')
# 修改节点内容
for elem in root.iter('elem'):
elem.text = 'new_value'
```
7. 删除节点
```python
for elem in root.iter('elem'):
root.remove(elem)
```
以上就是使用ElementTree解析XML文件的基本方法,如果需要更高级的功能可以使用lxml或BeautifulSoup等库。
阅读全文