Erhalte Attributnamen und Werte aus ElementTree

8

Ich habe ein XML <root> -Element mit mehreren Attributen. Ich habe das Paket ElementTree verwendet.

Nachdem ich einen Baum aus einer XML-Datei analysiert habe, erhalte ich den Dokumentenstamm, aber ich möchte das angeforderte Attribut oder sogar die gesamte Liste der Attribute erhalten.

%Vor%

Wie kann ich alle Attributnamen und Werte für ein Element <root> mit ElementTree abrufen?

    
Igal 14.01.2013, 17:18
quelle

3 Antworten

13

Jedes Element hat ein Attribut .attrib , das ein Wörterbuch ist; verwenden Sie einfach Zuordnungsmethoden , um nach Schlüsseln oder Werten zu fragen:

%Vor%

oder

%Vor%

oder verwenden Sie .values() oder eine der anderen verfügbaren Methoden in einem Python dict .

Um ein individuelles Attribut zu erhalten, verwenden Sie die standardmäßige Abonnement-Syntax :

%Vor%     
Martijn Pieters 14.01.2013, 17:21
quelle
4

Das Attribut attrib eines ElementTree-Elements (wie das von getroot zurückgegebene Stammverzeichnis) ist ein Wörterbuch. So können Sie zum Beispiel:

%Vor%

was ausgegeben wird, für Ihr Beispiel

%Vor%     
intuited 14.01.2013 17:26
quelle
1

Eine nette Schleife, die Sie verwenden können, wird für jedes Element des xmlObject-Tags, -Text und -Attribut erhalten Es wird für 2 Ebenen XML funktionieren, es ist nicht der beste Weg, um zu iterieren, aber es kann für einfache Dinge nützlich sein ...

%Vor%     
Kobi K 23.09.2013 07:55
quelle

Tags und Links