Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Ersetzen einen Knotens

  Alt 22. Mär 2005, 11:24
So ganz zu Herzen genommen hattest du dir meine Kritik damals nicht, was? Warum
Zitat von tobu:
Delphi-Quellcode:
  case CBAuthor.ItemIndex of
  0: Knoten.Attributes['Author'] := CBAuthor.Items.Strings[0];
  1: Knoten.Attributes['Author'] := CBAuthor.Items.Strings[1];
  2: Knoten.Attributes['Author'] := CBAuthor.Items.Strings[2];
  end;
und nicht gleich:
Knoten.Attributes['Author'] := CBAuthor.Items[CBAuthor.ItemIndex]; Diese eine Zeile macht genau das gleiche wie deine case-Anweisung.


Dass es übrigens nicht funktioniert, liegt daran:
Zitat:
Delphi-Quellcode:
XMLDoc.LoadFromFile(XMLDoc.FileName);

XMLDoc.Options := [doNodeAutoIndent];
XMLDoc.SaveToFile(XMLDoc.FileName);
Dass da noch was dazwischen steht, interessiert nicht, weil es keinen Einfluss auf das Dokument hat, das du hier komplett neu lädst. Du musst folgendes überlegen: Du änderst zwar die Eigenschaften des Knotens, aber wo ist dabei die Verbindung zu XMLDoc?

Ich nehme mal an, dass du die XML-Datei schon beim Start deines Programms lädst. In dem Fall enthält XMLDoc das Dokument. Wenn du jetzt den Knoten in der o.g. Prozedur änderst, dann ändert sich dadurch der entsprechende Knoten im schon geladenen Dokument - sofern er vorher auf irgendeine Art und Weise aus diesem Dokument ermittelt wurde (Hier im Forum suchenXPath?). Wenn das alles zutrifft, dann brauchst du das Dokument nicht neu laden. Speichere es einfach, und die Datei sollte die neuen Eigenschaften enthalten.
  Mit Zitat antworten Zitat