ich habe mich mittlerweile etwas in Python eingearbeitet und will mich jetzt an einem etwas größeren Programm versuchen.
Ich will mit xml.sax eine XML-Datei lesen, das aus dictionaries und key-value-Paaren aufgebaut ist, z.B:
------
Code: Alles auswählen
<dict>
<key>version</key><string>1.0.1</string>
<key>...
<dict>
<key>1</key>
<dict>
<key>Name</key><string>alan</string>
</dict>
<key>2</key>
<dict>
<key>Name</key><string>huber</string>
</dict>
</dict>
</dict>
Um das in eine Python-Dateityp zu überführen, will ich das als Array repräsentieren, etwa so:
{'version':'1.0.1', {1:{'Name':'alan'}, 2:{'Name':'huber'}}}
Weiß jetzt allerdings nicht so recht weiter, wie ich das umsetzen soll:
Hier bin ich momentan:
Code: Alles auswählen
from xml.sax import make_parser
from xml.sax.handler import ContentHandler
class Reader(ContentHandler):
def __init__(self):
self._currentElement = None
self._result = None
def startElement(self, name, attrs):
self.currentElement = name
def endElement(self, name):
pass
def characters(self, content):
self._handleValues(content)
def _handleValues(self, value):
doSomeMagic
Die einzigen Parameter, die _handleValues() hat, sind currentElement (z.B. 'string') und content (z.B. 'Name'), also nie Schlüssel und Wert ('Name' und 'alan') auf einmal, denn attrs.getValue[name] liefert hier ja Blödsinn.
Ich weiß jetzt nicht, wie ich weitermachen soll.
Ich bin für jede Hilfe sehr dankbar