lima-city: Webhosting, Domains und Cloud
0 Pluspunkte 0 Minuspunkte

Ich möchte ein Element in einer XML Datei ersetzen.

import xml.etree.ElementTree as ET

tree = ET.parse('Person.xml')
root = tree.getroot()

for element in root.findall("Person"):
    first_name = element.find('FirstName').text
    last_name = element.find('LastName').text
    if first_name == 'Willi':
        last_name = "Wills Wissen"

tree.write('Person.xml')

Wenn ich die Textdatei in einem Editor geöffnet habe und das Script ausführe bekomme ich im Texteditor eine Benachrichtigung das die Datei verändert wurde und neu eingelesen werden muss aber der Inhalt ändert sich nicht. Was kann das sein?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In der Zeile

last_name = element.find('LastName').text

speicherst du den Wert, der im Feld "LastName" steht in einer Variable. Das ist ein einfacher String. Um den Text zu ändern benötigst du eine Referenz auf das Objekt selbst.

for element in root.findall("Person"):
    first_name = element.find('FirstName').text
    last_name = element.find('LastName')
    
    if first_name == 'Willi':
        last_name.text = "Wills Wissen"

von  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2.3k Fragen

2.8k Antworten

261 Kommentare

13 Nutzer