XML との間のデータの迅速なシリアル化を可能にする simplejson に類似したライブラリはありますか。
e.g. json.loads('{vol:'III', title:'Magical Unicorn'}')
e.g. json.dumps([1,2,3,4,5])
何か案は?
XML との間のデータの迅速なシリアル化を可能にする simplejson に類似したライブラリはありますか。
e.g. json.loads('{vol:'III', title:'Magical Unicorn'}')
e.g. json.dumps([1,2,3,4,5])
何か案は?
xmlはデータ型を認識していないため、jsonほど一貫性のあるxmlには何も見つかりません。規則に従うか、xmlスキーマファイルの順守を強制するかは、ユーザー次第です。
そうは言っても、XML-RPCデータ構造マッピングといくつかの制限を受け入れるつもりなら、Python標準ライブラリにあるxmlrpclibパッケージをチェックしてください。
http://docs.python.org/library/xmlrpclib.html#convenience-functions
>>> import xmlrpclib
>>> s = xmlrpclib.dumps( ({'vol':'III', 'title':'Magical Unicorn'},))
>>> print s
<params>
<param>
<value><struct>
<member>
<name>vol</name>
<value><string>III</string></value>
</member>
<member>
<name>title</name>
<value><string>Magical Unicorn</string></value>
</member>
</struct></value>
</param>
</params>
>>> xmlrpclib.loads(s)[0]
({'vol': 'III', 'title': 'Magical Unicorn'},)
>>>
Django: xml_serializer.pyで彼らがどのようにそれを行ったかを見て、これをニーズに合わせて調整してください。
xmlとpythonのデータ型の間に「型マッピング」がないため、jsonの場合ほど単純ではありません。対応するXSL内にマップされているように、HeckXMLデータは何でもかまいません。
気になるAPIについては、ElementTreeをお勧めします
Element Treeを使用したXMLの解析に関する優れたチュートリアルについては、MarkPilgrimのPython3への飛び込みを参照してください。
私は一つも知りません。xmlrpcが重要でない限り... 独自のものを作成することを考えている場合: ElementTreeで何かを行うことは、他のほとんどの XML ライブラリと比較して楽しいことです。
でも、標準化されていない表現になってしまうので、両方をコントロールする必要がありますよね?それでは、json、pickle、または既に存在するものを選択しないのはなぜですか?
xmlrpclib モジュールを使用する場合:
xmlrpclib.dumps(data)
Forest は xmlrpclib の制限について言及していますが、これは良い点です。私が自分で見たもの: 整数は 2^31-1 を超えることはできません。そうしないと、ライブラリが文句を言います。通常、「なし」の値は適切ではありませんが、回避できます。おそらく他にも制限があります。
それとは別に、xmlrpc-protocol はかなり冗長です。送信されるデータの量を心配する必要がある場合は、最適な方法ではありません。しかし、非常に効率的な XML バージョンはありません。
lxmlはどうですか?