etree und mehrere IDs

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
michote
User
Beiträge: 6
Registriert: Donnerstag 13. September 2007, 09:30
Kontaktdaten:

Donnerstag 13. September 2007, 12:00

Hallo,
Ich bin ein ziemlich blutiger Neuling in python und habe leider noch nicht sonderlich mehr als byteofpython gelesen ;-)
bin aber erstaunt wieviel sich mit ein bißchen Forensuche als newbie realisieren lässt. Großes Lob an die Moderatoren!

möchte versuchen ein screenlet zu schreiben
und eine "Kleinigkeit" fehlt mir noch zu meinem Glück.

ich will dazu eine xml-datei auslesen und habe in einigen threads gelesen das elementtree wohl am geeignesten dafür ist habe auch fast alles hin bekommen
(dank der vielen Beiträge von gerold zu dem Thema) bis auf eins:

Die Die auszulesenden Tags sehen so aus

Code: Alles auswählen

<TAG d="13" m="9">
  <TL>...
  <OT>...
</TAG>
wobei ich jeweils nach dem Tag mit dem aktuellen datum gesucht werden soll (es gibt eine xml-Datei pro Jahr)
soweit bin ich schon:

Code: Alles auswählen

root = ET.parse(datei).getroot()
tag = root.find("TAG ... ?
hier fehlt quasi der zwischenschritt der nach
<TAG d="tag" m="monat"> sucht (wobei 'tag' und 'monat' schon definierte variablen mit dem entsprechenden Datum sind)
damit ich dann hiermit weitermachen kann

Code: Alles auswählen

if not tag is None:
  ueberschr = tag.find ("TL")
  if not ueberschr is None:
    print ueberschr.text 
Ich bin für jede Hilfe Dankbar und ich hoffe ich habe mein Problem verständlich ausdrücken können.
Bitte schlagt mich nicht wenn ich irgendwo einen thread übersehen habe,
wo das schon anfängerverständlich beschrieben war ;-)

Danke schonmal
michote
Let us noch a word verstehn, it goes me on the Geist,
und gib, dass “Microsoft” bald wieder “Kleinweich” heißt.
Wise Guys - Radio
BlackJack

Donnerstag 13. September 2007, 14:23

Da wirst Du eine ganz gewöhnliche Schleife über die `<TAG>`\s schreiben müssen, die solange sucht bis sie eines mit dem gewünschten Datum gefunden hat.
Benutzeravatar
michote
User
Beiträge: 6
Registriert: Donnerstag 13. September 2007, 09:30
Kontaktdaten:

Donnerstag 13. September 2007, 14:51

wie sähe das dann aus?
ich habe immer noch nicht ganz verstanden wie ich auf die ids richtig zugreife.

sorry ich bin noch ziemlich am anfang und aus den Englischen Anleitungen werde ich nicht wirklich schlau :oops:
Let us noch a word verstehn, it goes me on the Geist,
und gib, dass “Microsoft” bald wieder “Kleinweich” heißt.
Wise Guys - Radio
BlackJack

Donnerstag 13. September 2007, 17:08

Auf XML-Attribute greift man mit der `get()`-Methode auf dem entspechenden Element-Objekt zu:

Code: Alles auswählen

In [124]: tag.get('d'), tag.get('m')
Out[124]: ('13', '9')
Antworten