使用ElementTree库可以轻松地
解析
X
ML
文件。其中,findall()方法可以查询符合指定标签的所有元素,并将它们返回为一个列表。以下是一些示例代码:
假设我们有一个名为'exam
pl
e.x
ml
”的X
ML
文件,其内容如下:
<child>
<name>John</name>
<age>30</age>
</child>
<child>
<name>Jane</name>
<age>25</age>
</child>
</root>
我们可以使用如下代码读取并
解析
该X
ML
文件:
import xml.etree.ElementTree as ET
# Load the XML file
tree = ET.parse('example.xml')
# Get the root element
root = tree.getroot()
# Find all child elements
children = root.findall('child')
# Print the name and age of each child
for child in children:
name = child.find('name').text
age = child.find('age').text
print(name, age)
输出应该如下:
John 30
Jane 25
在这个例子中,我们使用了findall()方法找到了所有的'child”元素,并使用find()方法获取其中的'name”和'age”子元素。我们还可以使用XPath语法来更详细地查询元素,例如:
# Find all children named John
johns = root.findall("./child[name='John']")
# Print the name and age of each John
for john in johns:
name = john.find('name').text
age = john.find('age').text
print(name, age)
这将输出:
John 30
总而言之,使用ElementTree库的findall()方法可以有效地解析XML文件,并允许我们轻松地查询和处理其中的元素。