for
person
in
root.findall(
'person'
):
name = person.find(
'name'
).text
age = person.find(
'age'
).text
print
(
f'
{name}
的年龄是
{age}
。'
)
输出结果为:
Tom 的年龄是 25。
Jerry 的年龄是 20。
在代码中,首先我们将XML字符串赋值给变量xml_str
。然后使用ET.fromstring()
方法将其解析为树形结构,并将根节点赋值给root
变量。接下来,我们使用root.findall()
方法找到所有的person
节点,并遍历它们。在遍历过程中,我们使用person.find()
方法找到每个person
节点下的name
和age
节点,并获取它们的文本内容。最后,我们将这些信息打印出来。
需要注意的是,如果XML字符串中包含了命名空间,那么解析的方法会略有不同。此时需要使用ET.register_namespace()
方法注册命名空间,或者在查找节点时指定命名空间。