[Python-de] Python string,dict,list und Co. <-> XML

jens python_gmane at jensdiemer.de
Fre Mar 17 07:56:45 CET 2006


Ich suche ein quasi Pickle, nur in XML. Es sollte eine pure Python 
Lösung sein.

Im Prinzip was xmlrpclib.dumps() und xmlrpclib.loads() macht. Nur diese 
Produzieren sehr schlecht lesbaren, aufgeblähten XML-Code :(

Gleich vorweg, PyYAML3000 wäre auch eine alternative, aber das kann z.Z. 
nur in Richtung YAML -> Python...

Marc 'BlackJack' Rintsch, hat im Forum mal eben selber was programmiert:
http://www.python-forum.de/viewtopic.php?p=33200#33200

Allerdings benötigt man dazu das externe Modul ElementTree. Das wird 
wohl in Python 2.5 an Board sein, aber solange auf Shared-Hosting-Server 
ein uralt Python installiert ist, bringt das erstmal auch nix...

Leider ist auch die erzeugte XML-Daten etwas aufgebläht, wenn auch schon 
um einiges besser als xmlrpclib das macht...


Ich stelle mir das ganze ungefähr so vor:

___________________________________________________________________

t = [
     "beispiel", 123, "noch was",
     {'status':'GM', 'rating':2700},
     {'status':'Computer', 'rating':2700},
     {'status':'Amateur', 'rating':1400},
     {
         "eins": {"a":1, "b":2},
         "zwei": {"c":2, "d":3},
     },
]


<list>
     <string>beispiel</string>
     <int>123</int>
     <string>noch was</string>
     <dict>
         <string key="status">GM</string>
         <int key="rating">2700</int>
     </dict>
     <dict>
         <string key="status">Computer</string>
         <int key="rating">2700</int>
     </dict>
     <dict>
         <string key="status">Amateur</string>
         <int key="rating">1400</int>
     </dict>
     <dict>
         <dict key="eins">
             <dict>
                 <int key="a">1</int>
                 <int key="b">2</int>
             </dict>
         </dict>
         <dict key="zwei">
             <dict>
                 <int key="c">2</int>
                 <int key="d">3</int>
             </dict>
         </dict>
     </dict>
</list>
___________________________________________________________________


Und ich kann einfach nicht glauben, das es dafür nicht auch schon was 
fertiges gibt... Gefunden hab ich es allerdings noch nicht...


-- 
Mfg.

Jens Diemer


----
CMS in pure Python CGI: http://www.pylucid.org