Heim >Backend-Entwicklung >Python-Tutorial >Wie extrahiere ich Knotenattributwerte aus XML mit ElementTree?

Wie extrahiere ich Knotenattributwerte aus XML mit ElementTree?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 19:17:10357Durchsuche

How to Extract Node Attribute Values from XML Using ElementTree?

Knotenattributwerte aus XML mit ElementTree extrahieren

Das Parsen von XML-Daten ist häufig erforderlich, um bestimmte Informationen zu extrahieren. Diese Frage befasst sich mit der Aufgabe, Werte eines bestimmten Attributs von bestimmten Knoten innerhalb eines XML-Dokuments abzurufen.

Zugriff auf Attributwerte mit ElementTree

Der empfohlene Ansatz für diese Aufgabe ist um die ElementTree-Bibliothek zu nutzen, die eine benutzerfreundliche API zum Navigieren und Bearbeiten von XML-Daten bietet. So verwenden Sie ElementTree:

  1. Parsen Sie das XML-Dokument, um eine Elementinstanz zu erstellen:

    import xml.etree.ElementTree as ET
    root = ET.parse('xml_file.xml').getroot()
  2. Verwenden Sie die Methode findall(), um alle zu finden passende Knoten im Dokument:

    matches = root.findall('desired_node_path')
  3. Rufen Sie den Attributwert mit ab die get()-Methode:

    attribute_value = match.get('attribute_name')

Beispiel

Für das bereitgestellte XML-Snippet:

<foo>
   <bar>
      <type foobar="1"/>
      <type foobar="2"/>
   </bar>
</foo>

to Um die Werte des foobar-Attributs für alle Instanzen des Typknotens zu extrahieren, würden Sie Folgendes verwenden Code:

for type_node in root.findall('bar/type'):
    foobar_value = type_node.get('foobar')
    print(foobar_value)

Dieser Code gibt die Werte „1“ und „2“ auf der Konsole aus.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Knotenattributwerte aus XML mit ElementTree?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn