Hallo Zusammen,
ich bin gerade in meiner Ausbildung dabei mich mit Delphi vertraut zu machen und so möchte ich gerne eine
XML-Datei auslesen und den Node
"alias" überschreiben. Allerdings überschreibt er diesen Wert einfach nicht.
Mag mir jemand hier auf die Sprünge helfen? Ich bin wie gesagt noch ein Delphi-Anfänger.
Über jede Hilfe wäre ich sehr dankbar!
Delphi Quellcode
Delphi-Quellcode:
procedure TForm1.Button_ReadClick(Sender: TObject);
var
nodeLcsdb : IXMLNode;
XMLDocument1 : iXMLDocument;
app : iXMLNode;
begin
Memo1.Clear;
XMLDocument1 := TXMLDocument.Create(
nil);
XMLDocument1.LoadFromFile('
C:\Users\kuipers.patrick\Desktop\XML\test.xml');
app := XMLDocument1.ChildNodes.FindNode('
lcsdb').ChildNodes.FindNode('
db').ChildNodes.FindNode('
alias');
XMLDocument1.LoadFromFile('
C:\Users\kuipers.patrick\Desktop\XML\test.xml');
nodeLcsdb := XMLDocument1.ChildNodes.FindNode('
lcsdb');
if app <>
nil then
begin
app.Text := '
Erfolgreich';
showMessage(app.Text);
XMLDocument1.SaveToFile('
test.xml');
Memo1.Lines.Add(nodeLcsdb.ChildNodes.FindNode('
db').ChildValues['
alias']);
Memo1.Lines.Add(nodeLcsdb.ChildNodes.FindNode('
db').ChildValues['
databasename']);
end else
begin
showMessage('
Node not found');
end;
Mit Memo1 wollte ich mir den Wert des "Alias" anschauen, um zu sehen, ob es überschrieben wurde, was aber nicht der Fall ist.
Den hier gezeigten Code hab von diesem Forumbeitrag
https://www.delphipraxis.net/153310-...schreiben.html und an einigen Stellen ein wenig rumexperimentiert.
Code:
<?
xml version="1.0" encoding="windows-1252"?>
<lcsdb>
<
db>
<alias>Test</alias>
<databasename>TestObjekt1</databasename>
</
db>
</lcsdb>