使用Python将XML中的所有信息都放入字典中可以通过解析XML文件并逐层遍历的方式实现。下面是一个示例代码:
import xml.etree.ElementTree as ET
def xml_to_dict(xml_str):
root = ET.fromstring(xml_str)
return element_to_dict(root)
def element_to_dict(element):
result = {}
if len(element) == 0:
return element.text
for child in element:
child_data = element_to_dict(child)
if child.tag in result:
if type(result[child.tag]) is list:
result[child.tag].append(child_data)
else:
result[child.tag] = [result[child.tag], child_data]
else:
result[child.tag] = child_data
return result
使用示例:
xml_str = '''
<root>
<person>
<name>John</name>
<age>30</age>
</person>
<person>
<name>Jane</name>
<age>25</age>
</person>
</root>
'''
result = xml_to_dict(xml_str)
print(result)
输出结果:
{
'person': [
{'name': 'John', 'age': '30'},
{'name': 'Jane', 'age': '25'}
]
}
这段代码使用了Python内置的xml.etree.ElementTree
模块来解析XML文件。首先将XML字符串解析为一个Element对象,然后通过递归遍历的方式将XML中的所有信息转化为字典形式。如果某个标签下有多个相同的子标签,将会以列表的形式存储。
这种方法适用于任意复杂度的XML文件,并且可以将XML中的所有信息都放入字典中。
领取专属 10元无门槛券
手把手带您无忧上云