2017-04-03 102 views
1

我在Python中使用dicttoxml将dict转换为XML。将字典转换为具有属性的XML

我需要将字典转换为XML属性。

例如:

字典

[ 
     { 
      "@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> 

回答

1

我可能会建议declxml(全面披露:我写的)。使用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>