XML Objektserialisierung für Python und Java

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

XML Objektserialisierung für Python und Java

Christopher Arndt
Hallo,

kennt jemand ein Objektserialisierungsformat in XML, dass sowohl von
Python als auch Java gelesen/geschrieben werden kann, möglichst schon
mit fertigen Libraries zur Serialisierung / Deserialisierung auf beiden
Seiten?

Ich möchte ein paar Daten über eine asynchrone Schnittstelle zwischen
Java und Python austauschen und der Kunde wünscht sich ein XML-Format,
also kann ich nicht JSON oder YAML verwenden.

Ich brauche nur Unterstützung für "normale" Datentypen, also ints,
floats, strings, arrays und mappings (dicts) und Unicode- bzw. zumindest
UTF-8-Support.

Chris

_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Hartmut Goebel
Am 08.06.2010 16:23, schrieb Christopher Arndt:

> Ich brauche nur Unterstützung für "normale" Datentypen, also ints,
> floats, strings, arrays und mappings (dicts) und Unicode- bzw. zumindest
> UTF-8-Support.

xmlrpc enthält einen Serialisierer für solche Typen. Wahrscheinlich läßt
sich der auch direkt ansprechen, also ohne die remote-call Funktionalität.

--
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult mit Mitglied bei http://www.7-it.de


_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Diez B. Roggisch

Am 08.06.2010 um 16:50 schrieb Hartmut Goebel:

> Am 08.06.2010 16:23, schrieb Christopher Arndt:
>
>> Ich brauche nur Unterstützung für "normale" Datentypen, also ints,
>> floats, strings, arrays und mappings (dicts) und Unicode- bzw.  
>> zumindest
>> UTF-8-Support.
>
> xmlrpc enthält einen Serialisierer für solche Typen. Wahrscheinlich  
> läßt
> sich der auch direkt ansprechen, also ohne die remote-call  
> Funktionalität.

Ja, xmlrpclib.dumps und loads.

Diez
_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Christopher Arndt
Am 08.06.2010 17:38, schrieb Diez B. Roggisch:

>
> Am 08.06.2010 um 16:50 schrieb Hartmut Goebel:
>
>> Am 08.06.2010 16:23, schrieb Christopher Arndt:
>>
>>> Ich brauche nur Unterstützung für "normale" Datentypen, also ints,
>>> floats, strings, arrays und mappings (dicts) und Unicode- bzw. zumindest
>>> UTF-8-Support.
>>
>> xmlrpc enthält einen Serialisierer für solche Typen. Wahrscheinlich läßt
>> sich der auch direkt ansprechen, also ohne die remote-call
>> Funktionalität.
>
> Ja, xmlrpclib.dumps und loads.

Bei xmlrpclib.dumps muss der äußere Container immer ein Tuple sein, d.h.
weder

xmlrpclib.dumps(dict(foo='bar'))

noch

xmlrpclib.dumps([1, 2, 3])

ist erlaubt. Letzteres kann man verschmerzen aber Ersteres finde ich
doch etwas doof, weil man nicht einfach eine Liste von Name/Wert-Paaren
übergeben kann. Man kann natürlich einfach ein Tuple mit einem dict als
einzigem Element übergeben, aber die Gegenseite muss dann natürlich
wissen, die restlichen Parameter zu ignorieren.

Vielleicht kann ich den Kunden ja doch noch überzeugen, einfach JSON zu
nehmen.

Chris

_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Diez B. Roggisch
On Wednesday, June 09, 2010 11:22:25 Christopher Arndt wrote:

> Am 08.06.2010 17:38, schrieb Diez B. Roggisch:
> > Am 08.06.2010 um 16:50 schrieb Hartmut Goebel:
> >> Am 08.06.2010 16:23, schrieb Christopher Arndt:
> >>> Ich brauche nur Unterstützung für "normale" Datentypen, also ints,
> >>> floats, strings, arrays und mappings (dicts) und Unicode- bzw.
> >>> zumindest UTF-8-Support.
> >>
> >> xmlrpc enthält einen Serialisierer für solche Typen. Wahrscheinlich läßt
> >> sich der auch direkt ansprechen, also ohne die remote-call
> >> Funktionalität.
> >
> > Ja, xmlrpclib.dumps und loads.
>
> Bei xmlrpclib.dumps muss der äußere Container immer ein Tuple sein, d.h.
> weder
>
> xmlrpclib.dumps(dict(foo='bar'))
>
> noch
>
> xmlrpclib.dumps([1, 2, 3])
>
> ist erlaubt. Letzteres kann man verschmerzen aber Ersteres finde ich
> doch etwas doof, weil man nicht einfach eine Liste von Name/Wert-Paaren
> übergeben kann. Man kann natürlich einfach ein Tuple mit einem dict als
> einzigem Element übergeben, aber die Gegenseite muss dann natürlich
> wissen, die restlichen Parameter zu ignorieren.
>
> Vielleicht kann ich den Kunden ja doch noch überzeugen, einfach JSON zu
> nehmen.

Es waere dir zu wuenschen, denn zusaetzlich ist XML einfach unglaublich
aufgeblaeht - wir haben intern mal Faktor 10 gegenueber JSON ermittelt, was
natuerlich auch stark von den Daten abhaengt.

Diez

_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Hartmut Goebel
In reply to this post by Christopher Arndt
Am 09.06.2010 11:22, schrieb Christopher Arndt:

> Bei xmlrpclib.dumps muss der äußere Container immer ein Tuple sein, d.h.
> weder

Ich habe nur ein gesundes Halbwissen über xmlrpc, aber es erscheint mir
logisch, dass ein Tupel übergeben wird: Das ist die Liste der Argumente
für die aufzurufenden Funktion.

--
Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult mit Mitglied bei http://www.7-it.de


_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de

smime.p7s (6K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: XML Objektserialisierung für Python und Java

Christopher Arndt
Hartmut Goebel schrieb:
> Am 09.06.2010 11:22, schrieb Christopher Arndt:
>
>> Bei xmlrpclib.dumps muss der äußere Container immer ein Tuple sein, d.h.
>> weder
>
> Ich habe nur ein gesundes Halbwissen über xmlrpc, aber es erscheint mir
> logisch, dass ein Tupel übergeben wird: Das ist die Liste der Argumente
> für die aufzurufenden Funktion.

Klar, aber da xmlrpc keine benannten Funktionsargumente (aka keyword
args) unterstützt, hat man auf oberster Ebene nur anonyme Werte und das
gefällt mir nicht.

Chris

_______________________________________________
python-de maillist  -  [hidden email]
http://python.net/mailman/listinfo/python-de