首页 > 解决方案 > 我可以自动将 XML 文件转换为 Python 对象吗?

问题描述

我问这个问题是因为我知道C#在 .net 框架中有这样的功能。

假设我有一个 XML 文件,如下所示:

data.xml

<data>
    <items>
        <item name="item1">item1abc</item>
        <item name="item2">item2abc</item>
    </items>
</data>

并且,以下是一个Data模仿的 Python 类data.xml

Data.py

class Attribue:
    def __init__(self, name, value):
        self.__name = name
        self.__value = value

    def get_name(self):
        return self.__name

    def set_name(self, name):
        self.__name = name

    def get_value(self):
        return self.__value

    def set_value(self, value):
        self.__value = value

class Item:
    def __init__(self, attr, value):
        self.__attr = attr
        self.__value = value

    def get_attr(self):
        return self.__attr

    def set_attr(self, attr):
        self.__attr = attr

    def get_value(self):
        return self.__value

    def set_value(self, value):
        self.__value = value


class Data:
    def __init__(self, items):
        self.__items = items;

    def get_value(self):
        return self.__items 

    def set_value(self, items):
        self.__items = items

    def add_item(self, item):
        self.__items.adppend(item);

    def return_item(self, item):
        self.__items.get(item)

Python中是否有任何模块或包可以自动将该XML文件加载到类的实例中Data

例如,示例代码可以如下:

data = Data()

data = xml.load(type(Data), "data.xml")

print(data.items[0].attr.name)
print(data.items[0].attr.value)
print(data.items[0].value)

示例输出如下:

name
item1
item1abc

免责声明:这不是家庭作业。

标签: pythonxmlpython-3.7

解决方案


推荐阅读