具有多个OrderedDitchKey的Python XmlToDitch

具有多个OrderedDitchKey的Python XmlToDitch,python,django,django-rest-framework,xmltodict,Python,Django,Django Rest Framework,Xmltodict,有没有什么方法可以创建xml输出,以提供这样的多个排序信息 data = OrderedDict([ ... ('addresses', OrderedDict([ ('address', OrderedDict([ ('city', 'Washington') ])), ('address', OrderedDict([ ('city', 'Boston') ]))

有没有什么方法可以创建xml输出,以提供这样的多个排序信息

data = OrderedDict([
    ...
    ('addresses', OrderedDict([
        ('address', OrderedDict([
            ('city', 'Washington')
        ])),
        ('address', OrderedDict([
            ('city', 'Boston')
        ]))
    ]))
])

当我尝试使用这个xmltodict时,它覆盖的是最后一个地址,而不是两个地址。

这是因为您有两个键具有相同的名称“address”…如果您像下面那样更改这两个键(address1,address2)…您可以同时访问这两个地址。对于解析,您可以使用xmltodict

import json
from collections import OrderedDict
from json import loads, dumps
import xmltodict

data = OrderedDict([
    ('addresses', OrderedDict([
        ('address1', OrderedDict([
            ('city', 'Washington')
        ])),
        ('address2', OrderedDict([
            ('city', 'Boston')
        ]))
    ]))
])

print(json.loads(json.dumps(data)))

print(xmltodict.unparse((data)))
结果:


这是因为您有两个具有相同名称“address”的键…如果您像下面那样更改这两个键(address1,address2)…您可以同时访问这两个键。对于解析,您可以使用xmltodict

import json
from collections import OrderedDict
from json import loads, dumps
import xmltodict

data = OrderedDict([
    ('addresses', OrderedDict([
        ('address1', OrderedDict([
            ('city', 'Washington')
        ])),
        ('address2', OrderedDict([
            ('city', 'Boston')
        ]))
    ]))
])

print(json.loads(json.dumps(data)))

print(xmltodict.unparse((data)))
结果:


这是因为两个订单信息(城市)都有一个关键的“地址”…您是如何获得此订单信息的?这是因为两个订单信息(城市)都有一个关键的“地址”…您是如何获得此订单信息的?