1

有没有办法创建像这样给定多个 OrderedDict 的 xml 输出

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

当我尝试此 xmltodict 时,它涵盖了最后一个地址,而不是两者。

4

1 回答 1

0

那是因为您有 2 个具有相同名称“地址”的键。如果您像下面这样更改两者(地址 1,地址 2)...您可以同时访问。对于解析,您可以使用 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)))

结果 :

在此处输入图像描述

于 2019-12-14T17:40:04.940 回答