См. Инструкции Создание не HTML-контента в книге django.
По сути, это так просто:
def get_data(request, xml_data):
data = parse_xml_data(xml_data)
return_data = create_xml_blob(data)
return HttpResponse(return_data, mimetype='application/xml')
Edit:
Вы можете отправить сообщение с установленным xml_data в строку XML или отправить запрос XML.
Вот некоторый код для отправки XML-данных в веб-сервис, адаптированный с этого сайта :
xml_data = """<?xml version="1.0" encoding="UTF-8"?>
<root>my data here</root>
"""
#construct and send the header
webservice = httplib.HTTP("example.com")
webservice.putrequest("POST", "/rcx-ws/rcx")
webservice.putheader("Host", "example.com")
webservice.putheader("User-Agent", "Python post")
webservice.putheader("Content-type", "text/xml; charset=\"UTF-8\"")
webservice.putheader("Content-length", "%d" % len(xml_data))
webservice.endheaders()
webservice.send(xml_data)
В django вы бы использовали request.raw_post_data
для прямого доступа к XML.