【发布时间】:2023-03-29 00:50:01
【问题描述】:
我正在尝试使用 Django REST XMLParser 解析项目列表。解析器将项目列表视为单个项目。这是 XML:
XML = """<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<ID>item_1</ID>
<Description>first item</Description>
</item>
<item>
<ID>item_2</ID>
<Description>second item</Description>
</item>
</root>
"""
这里是解析器:
from django.conf import settings
settings.configure()
from django.utils.six import BytesIO
from rest_framework_xml.parsers import XMLParser
data_stream = BytesIO(XML)
parsed_data = XMLParser().parse(data_stream)
print parsed_data
这将返回以下 json:
{'item': {'ID': 'item_2', 'Description': 'second item'}}
所以看起来 XMLParser() 正在覆盖列表项 1,并返回列表项 2。从上面的代码中,我期望:
[{'item': {'ID': 'item_1', 'Description': 'first item'}}, {'item': {'ID': 'item_2', 'Description': 'second item'}}]
【问题讨论】:
标签: python django xml-parsing django-rest-framework