Я пытаюсь отправить запрос в API, который принимает только XML. Я использовал elementtree.SimpleXMLWriter
для построения дерева XML, и оно хранится в объекте StringIO. Это все хорошо и денди.
Проблема в том, что мне нужно urlencode объекта StringIO, чтобы отправить его в API. Но когда я пытаюсь, я получаю:
File "C:\Python27\lib\urllib.py", line 1279, in urlencode
if len(query) and not isinstance(query[0], tuple):
AttributeError: StringIO instance has no attribute '__len__'
Очевидно, это обсуждалось как проблема с Python . Мне просто интересно, есть ли какие-либо другие встроенные функции для urlencoding строки, особенно те, которым не нужно вызывать len()
, чтобы я мог кодировать этот объект StringIO.
Спасибо!
PS: Я открыт для использования чего-то другого, кроме StringIO, для хранения объекта XML, если это более простое решение. Мне просто нужен какой-то " file " для SimpleXMLWriter
для хранения XML.