我正在使用python中的dicttoxml将dict转换为XML。
我需要将dict转换为XML属性。
例如:
dict
[
{
"@name":"Ravi",
"@age":21,
"college":"Anna University"
}
]输出XML
<Student name="Ravi" age=21>
<college>Anna University</college>
</Student>码
dicttoxml(dict, custom_root='Student', attr_type=False, root=True)实际输出
<Student>
<key name="name">Ravi</key>
<key name="age">21</key>
<college>Anna University</college>
</Student>发布于 2017-04-03 12:32:38
到目前为止,这还没有得到独裁者的支持,尽管这个问题由来已久。https://github.com/quandyfactory/dicttoxml/issues/27
尽管您的需求不是那么复杂,但是您可以尝试这个简单的序列化程序。
https://gist.github.com/reimund/5435343/
在这里找到的:- 将Python字典序列化为XML
发布于 2019-06-25 02:05:05
我有一个类似的要求将XML转换为dict,反之亦然。我使用了一个名为xmltodict的库。这个库允许您使用属性从dict反转到xml。
dict
xmldata = { 'student': {
"@name":"Ravi",
"@age":21,
"college":"Anna University"
}}码
import xmltodict
print(xmltodict.unparse(xmldata, pretty=True))发布于 2017-11-13 03:32:53
我可能会建议解密 (完全公开:我写的)。使用declxml,您可以创建一个称为处理器的对象,该对象以声明方式定义XML的结构。您可以使用处理器解析和序列化XML数据。declxml用于对字典、对象和名称进行序列化。它处理元素的属性和数组,并执行基本验证。
import declxml as xml
student = {
'name':'Ravi',
'age':21,
'college':'Anna University'
}
student_processor = xml.dictionary('Student', [
xml.string('.', attribute='name'),
xml.integer('.', attribute='age'),
xml.string('college')
])
xml.serialize_to_string(student_processor, student, indent=' ')它产生所需的输出
<?xml version="1.0" ?>
<Student age="21" name="Ravi">
<college>Anna University</college>
</Student>https://stackoverflow.com/questions/43184204
复制相似问题