Ändere xml mit python

Ich habe XML-Datei wie folgt:

<lala> <blabla> <qweqwe>test</qweqwe> </blabla> </lala> 

Ich muss es öffnen und den Test in qweqwe auf einen anderen Wert ändern, zum Beispiel neuestes. Danach muss ich es wie eine neue xml-Datei speichern. Bitte helfen Sie mir, wie es in der besten Weise mit Python tun?

  • Python - Lesen aller Arten von Dateien in verschiedenen Kodierungen
  • Zusammenfassen von Wörterbüchern in einem möglichen
  • Verwenden Sie Arabisch WordNet für Synonyme in Python?
  • Einfache während True-Schleife und wenn Anweisungen nicht auslösen können
  • Google-Suche mit Python-Skript
  • Python-Rechteck-Kollisionsbehandlung mit Pygame
  • Diff zwei große Dateien in Python
  • Python theano.scan tippt Argument
  • Python - Wie select.select () funktioniert?
  • Python string.format () Prozentsatz auf eine Dezimalstelle
  • C ++ dll von Python genannt
  • Erläuterung einer Dekoratorklasse in Python
  • 5 Solutions collect form web for “Ändere xml mit python”

    Ich empfehle die Verwendung von lmxl – ein einfaches Beispiel ist:

     from lxml import etree as et >>> xml="""<lala> <blabla> <qweqwe>test</qweqwe> </blabla> </lala> """ >>> test = et.fromstring(xml) >>> for i in test.xpath('//qweqwe'): i.text = 'adsfadfasdfasdfasdf' # put logic here >>> print et.tostring(test) # write this to file instead <lala> <blabla> <qweqwe>adsfadfasdfasdfasdf</qweqwe> </blabla> </lala> 

    Wie bei allen anderen XML-Fragen hier für python Blick auf lxml

    Link: http://lxml.de/

    Für Aufgaben wie diese, finde ich die Minidom in Bibliothek gebaut, um schnell und einfach zu sein. Allerdings kann ich nicht sagen, dass ich umfangreiche Vergleiche davon zu verschiedenen anderen Bibliotheken in Bezug auf Geschwindigkeit und Speicherverbrauch gemacht habe.

    Ich mag es verursachen sein geringes Gewicht, schnell zu entwickeln und präsentieren seit Python 2.0

    Hier ist eine Frage zum Ändern des Wertes eines xml-Elements, aber es sollte nicht zu viel von einer Strecke sein, um die vorgeschlagene Antwort zu verwenden, um den Text eines xml-Elements zu ändern.

    Wenn du versuchst, ALLE Instanzen des Tests zu ändern, kannst du einfach die Datei öffnen und nach einem String Match suchen

    damit

     result = [] f = open("xml file") for i in f: if i == "<qweqwe>test</qweqwe>": i = "<qweqwe>My change</qweqwe>" result.append(i) f.close() f = open("new xml file") for x in result: f.writeline(x) 
    Python ist die beste Programmiersprache der Welt.