Ich arbeite mit einer riesigen XML-Datei und versuche, Informationen aus verschiedenen Elementen zu extrahieren.Übergeordnetes Element nach Verwendung der Methode find (xml.etree.ElementTree)
import xml.etree.ElementTree as ET
tree = ET.parse('t.xml')
root = tree.getroot()
Um die Elemente ich find Methode zu finden:
elm = root.find('.//Element[@elmid="1234"]')
Daraus ich Informationen zu extrahieren und zusätzlich Ich brauche Informationen aus dem übergeordneten Elemente. Aber elm.find('..')
gibt nur None
wie hier dokumentiert: https://docs.python.org/3/library/xml.etree.elementtree.html
Jetzt benutze ich die Folowing:
prt = root.find('.//Element[@elmid="1234"]/..')
elm = prt.find('/Element[@elmid="1234"]')
Das sieht ein bisschen unnatürlich für mich, aber funktioniert.
Kennen Sie einen besseren Weg, dies zu tun? Wissen Sie, warum nur None
zurückgegeben wird?
thx !! komisch, dass die ursprünglich keinen getparent implementieren. – yoopoo