XML のみを受け入れる API にリクエストを送信しようとしています。私はelementtree.SimpleXMLWriter
XML ツリーを構築するために使用しており、それは StringIO オブジェクトに格納されています。それはすべて元気でダンディです。
問題は、API に送信するために StringIO オブジェクトを URL コード化する必要があることです。しかし、試してみると、次のようになります。
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 の問題として議論されているようです。len()
文字列を urlencoding するための他の組み込み関数、特にこの StringIO オブジェクトをエンコードできるように呼び出す必要のない組み込み関数があるかどうか疑問に思っています。
ありがとう!
PS: XML オブジェクトを格納するために StringIO 以外のものを使用することにオープンです。それがより簡単な解決策である場合。XMLを保存するために、ある種の「ファイル」が必要です。SimpleXMLWriter