在Python中,可以使用xml.etree.ElementTree模块来解析XML字符串并获取节点值。
以下是一个例子:
import xml.etree.ElementTree as ET
# XML字符串
xml_string = '''
<root>
<person>
<name>John Doe</name>
<age>30</age>
<email>john@example.com</email>
</person>
<person>
<name>Jane Smith</name>
<age>25</age>
<email>jane@example.com</email>
</person>
</root>
'''
# 解析XML字符串
root = ET.fromstring(xml_string)
# 获取所有person节点
person_nodes = root.findall('person')
# 遍历每个person节点
for person_node in person_nodes:
# 获取name节点的值
name = person_node.find('name').text
# 获取age节点的值
age = person_node.find('age').text
# 获取email节点的值
email = person_node.find('email').text
# 输出节点值
print(f"Name: {name}")
print(f"Age: {age}")
print(f"Email: {email}")
print('---')
运行以上代码,输出结果如下:
Name: John Doe
Age: 30
Email: john@example.com
---
Name: Jane Smith
Age: 25
Email: jane@example.com
---
以上代码首先导入xml.etree.ElementTree模块,然后定义了一个XML字符串。通过调用ET.fromstring方法解析XML字符串,得到根节点root。接下来,通过root.findall方法找到所有的person节点,并使用person_node.find方法找到name、age和email节点,并使用.text属性获取节点的值。
这个方法适用于解析任意的XML字符串,可以根据具体的XML结构和节点名称进行调整。对于更复杂的XML结构,还可以使用XPath或其他方式进行节点的定位和提取。关于ElementTree模块的更多用法和功能,请参考Python官方文档:https://docs.python.org/3/library/xml.etree.elementtree.html
领取专属 10元无门槛券
手把手带您无忧上云