@mrkovalchuk
Junior developer

Как создать xml в памяти, прикрепить его к json и отправить?

Доброго времени суток.

Подскажите, пожалуйста, как создать xml в буфере, прикрепить его к json и отправить?

def send_json(**kwargs):
    send_to = 'http://bla-bla.ru/external/'
    msg = {}

    msg.update(kwargs)
    context = MyObject.objects.get(pk=kwargs.get('id'))
    xml = render_to_string('xml_template_min.xml',
                           {'object': context})

    f = io.TextIOBase(xml, encoding='text/xml;name="myobject.xml"')
    r = requests.post(send_to, files=f, data=msg)


Представлял себе это примерно так, но, судя по всему, неверное представление имею.

render_to_string - django функция, которая возвращает string.

Подскажите, как правильно сделать задуманное? Важно: не сохранять файл в системе, все в памяти.
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
Я мастер на все руки, я козлик Элек Мэк :-)
>>> from xml.etree import ElementTree as ET
>>> root = ET.Element("root")
>>> ET.SubElement(root, 'b')
>>> ET.SubElement(root, 'a')
>>> ET.SubElement(root, 'c')
>>> ET.tostring(root)
'<root><b /><a /><c /></root>'
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы