für meine Video DB möchte ich die möglichkeit haben auf XML Dateien zuzugreifen und zu Parsen.
die XML Datei hat diese Struktur
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ofdbgw>
<status>
<rcode>0</rcode>
<rcodedesc>Ok</rcodedesc>
<modul>movie</modul>
<ofdbgwversion>1.23</ofdbgwversion>
<ofdbgwdate>2013-01-22</ofdbgwdate>
<verarbeitungszeit>0.048</verarbeitungszeit>
</status>
<resultat>
<titel>Going Postal</titel>
<jahr>2010</jahr>
<bild>http://img.ofdb.de/film/194/194138.jpg</bild>
<imdbid>1219817</imdbid>
<bewertung>
<note>6.54</note>
<stimmen>52</stimmen>
<platz>4172</platz>
</bewertung>
<regie>
<person>
<id></id>
<name>Jon Jones</name>
</person>
</regie>
<secondunitregie></secondunitregie>
<produzent></produzent>
<drehbuch>
<person>
<id>6817</id>
<name>Terry Pratchett</name>
</person>
</drehbuch>
<cut></cut>
<soundtrack></soundtrack>
<genre>
<titel>Fantasy</titel>
<titel>Komödie</titel>
</genre>
<kurzbeschreibung>Willkommen auf der Scheibenwelt, die von 4 Elefanten getragen, auf einer riesigen Schildkröte durchs All schwebt. Wir kommen gerade rechtzeitig zur geplanten</kurzbeschreibung>
<beschreibung>Willkommen auf der Scheibenwelt, die von 4 Elefanten getragen, auf einer riesigen Schildkröte durchs All schwebt. Wir kommen gerade rechtzeitig zur geplanten Hinrichtung des Gauners Moist von Lipwig, der allerdings vom Patrizier Lord Vetinari in letzter Sekunde "begnadigt" wird. Als Gegenleistung soll er den schon lange stagnierenden Postbetrieb wieder in Gang bringen. Reacher Gilt vom "Großen Strang der Klacker" ist die Wiedereinführung der Post ein Dorn im Auge, gefährdet sie doch das Monopol der Semaphorgesellschaft auf die Nachrichtenübermittlung.
Ein erbitterter Wettstreit entbrennt zwischen Postkutsche und Klackertürmen. Und allerlei obskure Gestalten, wie Golems, eine Werwolfswache, ein Banshee-Auftragskiller und natürlich die Magier der unsichtbaren Universität werden in den Studel aus Intrigen, Schuld und Sühne hineingezogen. Was geschah wirklich mit den 4 vorherigen Postmeistern? Wer hat in der Nachrichtenübermittlung am Ende die Nase vorn?</beschreibung>
<besetzung>
<person>
<id>22105</id>
<name>Richard Coyle</name>
<rolle>Moist Von Lipwig</rolle>
</person>
<person>
<id>10745</id>
<name>David Suchet</name>
<rolle>Reacher Gilt</rolle>
</person>
<person>
<id>48176</id>
<name>Claire Foy</name>
<rolle>Adora Belle Dearheart</rolle>
</person>
<person>
<id>6207</id>
<name>Andrew Sachs</name>
<rolle>Groat</rolle>
</person>
<person>
<id>19846</id>
<name>Charles Dance</name>
<rolle>Lord Vetinari</rolle>
</person>
<person>
<id>48892</id>
<name>Timothy West</name>
<rolle>Ridcully</rolle>
</person>
<person>
<id>37299</id>
<name>Steve Pemberton</name>
<rolle>Drumknott</rolle>
</person>
<person>
<id>48916</id>
<name>Tamsin Greig</name>
<rolle>Miss Crpslock</rolle>
</person>
<person>
<id>53934</id>
<name>Madhav Sharma</name>
<rolle>Crispin Horsefry</rolle>
</person>
<person>
<id>53805</id>
<name>Jimmy Yuill</name>
<rolle>Mr. Spools</rolle>
</person>
<person>
<id>38264</id>
<name>Ingrid Bolsø Berdal</name>
<rolle>Sergeant Angua</rolle>
</person>
<person>
<id>35456</id>
<name>Paula Lane</name>
<rolle>Princess</rolle>
</person>
<person>
<id>28028</id>
<name>Matt Devere</name>
<rolle>Parker</rolle>
</person>
<person>
<id>6817</id>
<name>Terry Pratchett</name>
<rolle>Postman</rolle>
</person>
<person>
<id></id>
<name>Paul Barber</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>John Henshaw</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Ian Bonar</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Marnix Van Den Broeke</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Adrian Schiller</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Daniel Cerqueira</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Ben Crompton</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Asif Khan</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Alex Price</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Gabrielle Hamilton</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Tamás Mohai</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Anna Györgyi</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Angéla Eke</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Mike Kelly</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Szabolcs Thuróczy</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Don Warrington</name>
<rolle></rolle>
</person>
</besetzung>
<produktionsland>
<name>Großbritannien</name>
</produktionsland>
<alternativ>Going Postal</alternativ>
<fassungen>
<titel>
<land>Deutschland</land>
<id>194138;308801</id>
<name>DVD: NewKSM</name>
</titel>
<titel>
<land>Deutschland</land>
<id>194138;339923</id>
<name>Blu-ray Disc: KSM</name>
</titel>
<titel>
<land>Deutschland</land>
<id>194138;332368</id>
<name>Blu-ray Disc: NEW KSM (Limited Edition)</name>
</titel>
<titel>
<land>Deutschland</land>
<id>194138;360423</id>
<name>Free-TV: RTL HD</name>
</titel>
</fassungen>
</resultat>
</ofdbgw>
Das Problem ist wie greife ich auf die Besetzung zu
Code: Alles auswählen
<besetzung>
<person>
<id>22105</id>
<name>Richard Coyle</name>
<rolle>Moist Von Lipwig</rolle>
</person>
<person>
<id>10745</id>
<name>David Suchet</name>
<rolle>Reacher Gilt</rolle>
</person>
<person>
<id>48176</id>
<name>Claire Foy</name>
<rolle>Adora Belle Dearheart</rolle>
</person>
<person>
<id>6207</id>
<name>Andrew Sachs</name>
<rolle>Groat</rolle>
</person>
<person>
<id>19846</id>
<name>Charles Dance</name>
<rolle>Lord Vetinari</rolle>
</person>
<person>
<id>48892</id>
<name>Timothy West</name>
<rolle>Ridcully</rolle>
</person>
<person>
<id>37299</id>
<name>Steve Pemberton</name>
<rolle>Drumknott</rolle>
</person>
<person>
<id>48916</id>
<name>Tamsin Greig</name>
<rolle>Miss Crpslock</rolle>
</person>
<person>
<id>53934</id>
<name>Madhav Sharma</name>
<rolle>Crispin Horsefry</rolle>
</person>
<person>
<id>53805</id>
<name>Jimmy Yuill</name>
<rolle>Mr. Spools</rolle>
</person>
<person>
<id>38264</id>
<name>Ingrid Bolsø Berdal</name>
<rolle>Sergeant Angua</rolle>
</person>
<person>
<id>35456</id>
<name>Paula Lane</name>
<rolle>Princess</rolle>
</person>
<person>
<id>28028</id>
<name>Matt Devere</name>
<rolle>Parker</rolle>
</person>
<person>
<id>6817</id>
<name>Terry Pratchett</name>
<rolle>Postman</rolle>
</person>
<person>
<id></id>
<name>Paul Barber</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>John Henshaw</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Ian Bonar</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Marnix Van Den Broeke</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Adrian Schiller</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Daniel Cerqueira</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Ben Crompton</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Asif Khan</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Alex Price</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Gabrielle Hamilton</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Tamás Mohai</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Anna Györgyi</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Angéla Eke</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Mike Kelly</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Szabolcs Thuróczy</name>
<rolle></rolle>
</person>
<person>
<id></id>
<name>Don Warrington</name>
<rolle></rolle>
</person>
</besetzung>
wie greife ich jetzt richtig auf die Tags name in den Tag Besetzung zu?
weil das tag name habe ich auch zb bei den Tag Regie
Code: Alles auswählen
<regie>
<person>
<id></id>
<name>Jon Jones</name>
</person>
</regie>
Code: Alles auswählen
class FilmInfoHandler(handler.ContentHandler):
def __init__(self):
self.beschreibung=set()
self.person=set()
self.current_content=""
def startElement(self,name,attrs):
self.current_content =""
def characters(self,content):
self.current_content +=content.strip()
def endElement(self,name):
if name=="beschreibung":
self.beschreibung.add(self.current_content)
if name=="name":
self.person.add(self.current_content)
def getbeschreibung(self):
return self.beschreibung
def getperson(self):
return self.person