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'}}]
소스에서 판단 <item>
하면 <list-item>
. 태그 이름이 하드 코딩 된 것 같습니다.
https://github.com/jpadilla/django-rest-framework-xml/blob/master/rest_framework_xml/parsers.py#L51
귀하의 의견에 대한 응답으로 업데이트 :DRF에 의해 수행되는이 XML 구문 분석 / 렌더링은 직렬화의 일부입니다. 아마도 OXM (Object-XML Mapping)을 의미하지는 않습니다. https://github.com/jpadilla/django-rest-framework-xml/blob/master/rest_framework_xml/renderers.py#L21을 살펴보십시오 -나중에 파서로 구문 분석 할 xml을 생성하려면 렌더러를 사용해야합니다. .
주의 사항 : DRF의 XML 부분을 사용하지 않았으며 코드를 읽는 중입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다