Ä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?

  • "Fehlermeldung kann nicht zugeordnet werden"
  • Grokking Timsort
  • Inkrement Numpy Array mit wiederholten Indizes
  • In Tkinter Wie entferne ich Fokus aus einem Widget?
  • Groupby Spalte, während andere Spalten angezeigt werden
  • Best Practice für Composite Key in Web2py
  • Ändern Sie, wie das Python Cmd-Modul die Autovervollständigung verarbeitet
  • Wie passiere ich Variablen in Python
  • Soll ich Pylone oder Pyramide benutzen?
  • Finden Sie die Anzahl der Vorkommen einer Teilsequenz in einem String
  • Python: using namedtuple._replace mit einer Variablen als Feldname
  • Bedingte Summen für Pandas aggregate
  • 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.