Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django REST XMLParser()-无法分析项列表_Python_Django_Xml Parsing_Django Rest Framework - Fatal编程技术网

Python Django REST XMLParser()-无法分析项列表

Python Django REST XMLParser()-无法分析项列表,python,django,xml-parsing,django-rest-framework,Python,Django,Xml Parsing,Django Rest Framework,我正在尝试使用Django REST XMLParser解析项目列表。解析器将项列表视为单个项。以下是XML: XML = """<?xml version="1.0" encoding="UTF-8"?> <root> <item> <ID>item_1</ID> <Descriptio

我正在尝试使用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>
            """
这将返回以下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'}}]

从源代码来看,我认为您需要将
更改为
。标签名称似乎是硬编码的:

更新以回应您的评论: DRF完成的xml解析/呈现是序列化的一部分。它可能不是OXM(对象XML映射)。请看一看-您应该使用呈现程序创建xml,稍后使用解析器进行解析


警告:我没有使用DRF的XML部分,我只是在阅读它的代码。

可能有一个bug:如果是真的,这是代表django rest framework XML为我的应用程序(解析b2mml XML)所做的一个重大假设,'item'标记是,还有许多其他应用程序不会使用名为“list item”的标记。
[{'item': {'ID': 'item_1', 'Description': 'first item'}}, {'item': {'ID': 'item_2', 'Description': 'second item'}}]