欢迎访问宙启技术站
智能推送

使用xmltodict库的parse()方法将XML转换为字典型数据

发布时间:2023-12-23 23:00:13

xmltodict是一个基于Python的库,它允许将XML数据转换为易于处理的字典型数据结构。它提供了parse()方法来执行这个转换过程。

下面是一个使用xmltodict库的parse()方法将XML转换为字典型数据的例子:

import xmltodict

# 定义一个XML字符串
xml_str = """
<bookstore>
    <book category="cooking">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="children">
        <title lang="en">Harry Potter</title>
        <author>J.K. Rowling</author>
        <year>2003</year>
        <price>29.99</price>
    </book>
    <book category="web">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>
"""

# 使用parse()方法将XML转换为字典型数据
xml_dict = xmltodict.parse(xml_str)

# 打印转换后的字典型数据
print(xml_dict)

运行这段代码,输出如下:

{'bookstore': {'book': [{'@category': 'cooking', 'title': {'@lang': 'en', '#text': 'Everyday Italian'}, 'author': 'Giada De Laurentiis', 'year': '2005', 'price': '30.00'}, {'@category': 'children', 'title': {'@lang': 'en', '#text': 'Harry Potter'}, 'author': 'J.K. Rowling', 'year': '2003', 'price': '29.99'}, {'@category': 'web', 'title': {'@lang': 'en', '#text': 'Learning XML'}, 'author': 'Erik T. Ray', 'year': '2003', 'price': '39.95'}]}}

可以看到,parse()方法将XML字符串转换为了一个字典型数据结构。XML中的每个元素都对应字典中的一个键值对。对于带有属性的元素,属性被转换为对应键值对的字典的键值对。

要访问转换后的字典中的元素,只需按照字典的访问方式进行访问即可。例如,要访问第一本书的标题,可以使用如下代码:

title = xml_dict['bookstore']['book'][0]['title']['#text']
print(title)

运行这段代码,输出为:

Everyday Italian

这个例子展示了如何使用xmltodict库的parse()方法将XML转换为字典型数据,并演示了如何访问转换后的字典中的元素。