jens schrieb:
Ich suche ein quasi Pickle, nur in XML. Es sollte eine pure Python Lösung sein.
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...
Uhm, spricht da was dagegen, das zu installieren? Du überträgst doch ohnehin deinen Code auf den Server, oder? Eben ein Package mehr...
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> ___________________________________________________________________
ungetestet: def to_xml(data, **attributes): print "<%s%s>" % (type(data), attributes) if isinstance(data, dict): for k,v in data.iteritems(): print to_xml(v, key=k) else: try: elements = iter(data) except TypeError: print repr(data) else: for e in elements: to_xml(e) print "</%s>" % type(data) das from_xml() ist ein bisschen komplizierter, XML parsen ist nunmal fdA. Aber vielleicht bekommst du das ja selbst hin. Stefan _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de