Aktualisierung der XML-Elemente und Attribut-Werte mit etree Python
Ich versuche die Verwendung von Python 2.7 ist ElementTree
Bibliothek zum Parsen einer XML-Datei, dann ersetzen Sie bestimmte Attribute eines Elements mit test-Daten, speichern Sie dies als einen eindeutigen XML-Datei.
Meine Idee für eine Lösung war (1) Quelle neue Daten aus einer CSV-Datei Einlesen einer Datei in einen string (2) schneiden Sie den string an bestimmten Trennzeichen markiert, (3) append an eine Liste, und dann (4) die Nutzung ElementTree
zu aktualisieren/löschen/ersetzen Sie das Attribut mit einem bestimmten Wert aus der Liste.
Ist, habe ich mich in der ElementTree
Dokumentation & sah das clear()
und remove()
Funktionen, aber ich habe keine Ahnung von der syntax angemessen.
Ein Beispiel für die XML zu ändern, ist unter - Attribute mit XXXXX
ersetzt/aktualisiert:
<TrdCaptRpt RptID="10000001" TransTyp="0">
<RptSide Side="1" Txt1="XXXXX">
<Pty ID="XXXXX" R="1"/>
</RptSide>
</TrdCaptRpt>
Dem beabsichtigten Ergebnis führen werden, zum Beispiel:
<TrdCaptRpt RptID="10000001" TransTyp="0">
<RptSide Side="1" Txt1="12345">
<Pty ID="ABCDE" R="1"/>
</RptSide>
</TrdCaptRpt>
Wie verwende ich die etree
Befehle zum ändern des Basis XML-update auf ein Element aus der Liste[]?
InformationsquelleAutor Nick H | 2012-02-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für diese Art von Arbeit, die ich immer empfehlen
BeautifulSoup
, weil es hat eine wirklich einfach zu lernen-API:Beispiel-Ausgabe:
Edit: Mit
xml.etree.ElementTree
könnte man das folgende Skript verwenden:Beispiel-Ausgabe:
Ich aktualisiert meine Antwort mit einem Beispiel, mit
ElementTree
Vielen Dank, ich werde crack auf diesem Ansatz.
Mit einer kleinen Modifikation dieser Lösung gearbeitet hat perfekt für meine Bedürfnisse, ich änderte die set-Befehle für Indizes, die aus einer definierten Liste und ersetzt die fromstring mit einem etree.analysieren, zeigen auf meine XML-Datei. Vielen Dank für Eure Ratschläge!!!
InformationsquelleAutor jcollado