python xml 查询
时间: 2023-06-12 13:07:14 浏览: 55
在Python中,我们可以使用标准库中的 `xml.etree.ElementTree` 模块来解析和操作 XML 数据。下面是一个简单的例子来演示如何使用该模块来查询 XML 数据:
假设有如下的 XML 文件 `example.xml`:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
<person id="1">
<name>John</name>
<age>30</age>
<city>New York</city>
</person>
<person id="2">
<name>Jane</name>
<age>25</age>
<city>San Francisco</city>
</person>
<person id="3">
<name>Bob</name>
<age>40</age>
<city>Seattle</city>
</person>
</root>
```
我们可以使用如下代码来查询该 XML 文件中所有 `person` 元素的 `name` 子元素的文本值:
```python
import xml.etree.ElementTree as ET
# 加载 XML 文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 查询所有 person 元素的 name 子元素的文本值
for person in root.findall('person'):
name = person.find('name').text
print(name)
```
输出结果为:
```
John
Jane
Bob
```
除了简单的查找,我们还可以使用 XPath 表达式来更加灵活地查询 XML 数据。例如,我们可以使用如下代码来查询年龄大于 30 岁的人的姓名:
```python
import xml.etree.ElementTree as ET
# 加载 XML 文件
tree = ET.parse('example.xml')
root = tree.getroot()
# 使用 XPath 查询所有年龄大于 30 岁的人的姓名
for person in root.findall("./person[age > 30]/name"):
name = person.text
print(name)
```
输出结果为:
```
Bob
```