python - 我可以自动将 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
免责声明:这不是家庭作业。
解决方案
推荐阅读
- cassandra - 无法从快照恢复 cassandra 数据
- mysql - SQL:在具有多列的一列上有所不同
- c++ - 对于代理容器上的迭代器来说,什么是“最糟糕的实现”?
- python-3.x - 如何在 SQL Alchemy 中访问/覆盖父属性的默认值?
- html - FlexBox CSS 和对齐
- google-chrome - 用于在不将松弛窗口置于前面的情况下打开 chrome 的自动热键
- android - 如何在每次重试时显示一条消息?
- visual-studio-code - 包含脱机 HTML 的 Visual Studio Code 扩展
- angular - 如何将布尔主题的值初始化为假?
- asp.net-core - 在 EntityFrameworkCore 模型上设置自定义属性