diff --git a/rest_framework_xml/renderers.py b/rest_framework_xml/renderers.py index 7a2d8c3..3210a72 100644 --- a/rest_framework_xml/renderers.py +++ b/rest_framework_xml/renderers.py @@ -18,6 +18,7 @@ class XMLRenderer(BaseRenderer): media_type = 'application/xml' format = 'xml' charset = 'utf-8' + item_tag_name = 'list-item' def render(self, data, accepted_media_type=None, renderer_context=None): """ @@ -41,9 +42,9 @@ def render(self, data, accepted_media_type=None, renderer_context=None): def _to_xml(self, xml, data): if isinstance(data, (list, tuple)): for item in data: - xml.startElement("list-item", {}) + xml.startElement(self.item_tag_name, {}) self._to_xml(xml, item) - xml.endElement("list-item") + xml.endElement(self.item_tag_name) elif isinstance(data, dict): for key, value in six.iteritems(data): diff --git a/tests/test_renderers.py b/tests/test_renderers.py index 5b4250e..99c5f22 100644 --- a/tests/test_renderers.py +++ b/tests/test_renderers.py @@ -91,6 +91,12 @@ def test_render_complex_data(self): self.assertXMLContains(content, 'first') self.assertXMLContains(content, 'second') + def test_render_list(self): + renderer = XMLRenderer() + content = renderer.render(self._complex_data, 'application/xml') + self.assertXMLContains(content, '') + self.assertXMLContains(content, '') + @unittest.skipUnless(etree, 'defusedxml not installed') def test_render_and_parse_complex_data(self): """