Bearbeiten Sie die XML Texte aus XML-Datei mit Python
Ich habe eine XML-Datei, die enthält einige Daten gegeben.
<?xml version="1.0" encoding="UTF-8" ?>
- <ParameterData>
<CreationInfo date="10/28/2009 03:05:14 PM" user="manoj" />
- <ParameterList count="85">
- <Parameter name="Spec 2 Included" type="boolean" mode="both">
<Value>n/a</Value>
<Result>n/a</Result>
</Parameter>
- <Parameter name="Spec 2 Label" type="string" mode="both">
<Value>n/a</Value>
<Result>n/a</Result>
</Parameter>
- <Parameter name="Spec 3 Included" type="boolean" mode="both">
<Value>n/a</Value>
<Result>n/a</Result>
</Parameter>
- <Parameter name="Spec 3 Label" type="string" mode="both">
<Value>n/a</Value>
<Result>n/a</Result>
</Parameter>
</ParameterList>
</ParameterData>
Ich habe eine Textdatei mit Zeilen wie
Spec 2 Included : TRUE
Spec 2 Label: 19-Flat2-HS3
Spec 3 Included : FALSE
Spec 3 Label: 4-1-Bead1-HS3
Will ich jetzt Bearbeiten von XML-Texte; i,e. Ich will ersetzen Sie die Feld - (n/a)
mit den entsprechenden Werten aus der text-Datei.
Wie ich die Datei sieht aus wie
<?xml version="1.0" encoding="UTF-8" ?>
- <ParameterData>
<CreationInfo date="10/28/2009 03:05:14 PM" user="manoj" />
- <ParameterList count="85">
- <Parameter name="Spec 2 Included" type="boolean" mode="both">
<Value>TRUE</Value>
<Result>TRUE</Result>
</Parameter>
- <Parameter name="Spec 2 Label" type="string" mode="both">
<Value>19-Flat2-HS3</Value>
<Result>19-Flat2-HS3</Result>
</Parameter>
- <Parameter name="Spec 3 Included" type="boolean" mode="both">
<Value>FALSE</Value>
<Result>FALSE</Result>
</Parameter>
- <Parameter name="Spec 3 Label" type="string" mode="both">
<Value>4-1-Bead1-HS3</Value>
<Result>4-1-Bead1-HS3</Result>
</Parameter>
</ParameterList>
</ParameterData>
Ich bin neu in diesem Python-XML-Codierung.
Habe ich derzeit keine Idee, wie Bearbeiten Sie die text-Felder in eine XML-Datei.
Ich bin versucht, elementtree.ElementTree-Modul.
aber Lesen Sie die Zeilen in der XML-Datei und extrahieren Sie die Attribute, die ich nicht weiß, welche Module müssen importiert werden.
Bitte helfen.
Dank und Grüße.
Im XML-jargon, die Teile, die Sie ändern möchten, werden als "text". "Attribut" bezieht sich auf Stücke wie
Nachdem ich ja ein bisschen Zeit, herauszufinden, wie es zu tun mit die Kombination der Information mehrere der Vorschläge, die ich schrieb, eine unzulässige, aber wirksame Lösung hier: stackoverflow.com/questions/1591579/.... Vielleicht hilft es den Menschen, die vor einer ähnlichen Aufgabe.
name="Spec 2 Label"
oder mode="both"
.Nachdem ich ja ein bisschen Zeit, herauszufinden, wie es zu tun mit die Kombination der Information mehrere der Vorschläge, die ich schrieb, eine unzulässige, aber wirksame Lösung hier: stackoverflow.com/questions/1591579/.... Vielleicht hilft es den Menschen, die vor einer ähnlichen Aufgabe.
InformationsquelleAutor manoj1123 | 2009-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie konvertieren Sie Ihre Daten-text in python-Wörterbuch vom regulären Ausdruck
data
wird wie folgtDann können Sie es konvertieren, indem Sie Ihre favoriate xml-parser, werde ich minidom hier.
Ergebnisse
Hallo, zum laden aus Datei verwenden Sie diese
data=open("data.txt").read()
stattdata=""" """
ich aktualisiert haben, meine Antwort auch.Lieber Mark, vielen Dank für Ihre Unterstützung und Zeit. Ich bin in der Lage, die Ausgabe zu generieren. Wie kann ich mit der writexml() schreibt die Ausgabe in eine Datei. Dank
Hi, fügte eine Zeile zu schreiben, um die Datei
open("output.xml","wb").write(dom.toxml())
Lieber Mark, Meinen aufrichtigen Dank an Sie.
InformationsquelleAutor YOU
Gut, könnte man anfangen, mit
Finden Sie die Elemente , die Sie ändern möchten.
Ersetzt den Inhalt eines Elements, nur
Die import-Anweisung oben funktioniert in Python 2.5 oder höher. Wenn Sie eine ältere version von Python geben, die Sie installieren müssen, ElementTree als Verlängerung, und dann die import-Anweisung ist anders:
import elementtree.ElementTree as ET
.InformationsquelleAutor Jason Orendorff
Leider die XPath-unterstützt von ElementTree ist noch nicht abgeschlossen. Seit Python 2.6 enthält eine ältere version, suchen von Elementen, die durch attribute (wie gesagt hier) funktioniert nicht. So Python-eigene Dokumentation sollten Sie Ihre erste Station: xml.etree.ElementTree
InformationsquelleAutor wierob
Hier ist, wie Sie es tun konnte, mit Amara
InformationsquelleAutor Uche Ogbuji