Ich habe ein Python-Skript verwendet, um XML zu analysieren und bestimmte Elemente von Interesse in eine CSV-Datei zu exportieren. Ich habe versucht jetzt, um das Skript zu ändern, um die Filterung einer XML-Datei unter einem Kriterium, das äquivalent XPath-Abfrage wäre zu ermöglichen:Verwendung von XPath in Python mit LXML
\DC\Events\Confirmation[contains(TransactionId,"GTEREVIEW")]
Wenn ich lxml zu verwenden versuchen, dies zu tun, ist mein Code:
xml_file = lxml.etree.parse(xml_file_path)
namespace = "{" + xml_file.getroot().nsmap[None] + "}"
node_list = xml_file.findall(namespace + "Events/" + namespace + "Confirmation[TransactionId='*GTEREVIEW*']")
Aber das scheint nicht zu funktionieren. Kann jemand helfen? Beispiel für XML-Datei:
<Events>
<Confirmation>
<TransactionId>GTEREVIEW2012</TransactionId>
</Confirmation>
<Confirmation>
<TransactionId>GTEDEF2012</TransactionId>
</Confirmation>
</Events>
Deshalb möchte ich alle „Bestätigung“ Knoten, die eine Transaktions-ID enthalten, die die Zeichenfolge „GTEREVIEW“ enthält. Dank
Wo ist Ihre XML-Datei? – SomeDude
Ich habe die Frage aktualisiert. – naiminp