首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Python将XML中的所有信息都放入字典中

使用Python将XML中的所有信息都放入字典中可以通过解析XML文件并逐层遍历的方式实现。下面是一个示例代码:

代码语言:python
代码运行次数:0
复制
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

使用示例:

代码语言:python
代码运行次数:0
复制
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)

输出结果:

代码语言:txt
复制
{
    'person': [
        {'name': 'John', 'age': '30'},
        {'name': 'Jane', 'age': '25'}
    ]
}

这段代码使用了Python内置的xml.etree.ElementTree模块来解析XML文件。首先将XML字符串解析为一个Element对象,然后通过递归遍历的方式将XML中的所有信息转化为字典形式。如果某个标签下有多个相同的子标签,将会以列表的形式存储。

这种方法适用于任意复杂度的XML文件,并且可以将XML中的所有信息都放入字典中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

7分1秒

Split端口详解

1分19秒

020-MyBatis教程-动态代理使用例子

14分15秒

021-MyBatis教程-parameterType使用

3分49秒

022-MyBatis教程-传参-一个简单类型

7分8秒

023-MyBatis教程-MyBatis是封装的jdbc操作

8分36秒

024-MyBatis教程-命名参数

15分31秒

025-MyBatis教程-使用对象传参

6分21秒

026-MyBatis教程-按位置传参

6分44秒

027-MyBatis教程-Map传参

15分6秒

028-MyBatis教程-两个占位符比较

6分12秒

029-MyBatis教程-使用占位替换列名

8分18秒

030-MyBatis教程-复习

领券