![]() |
Delphi-Version: 10.1 Berlin
XML-Datei manipulieren
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:
Mit Memo1 wollte ich mir den Wert des "Alias" anschauen, um zu sehen, ob es überschrieben wurde, was aber nicht der Fall ist.
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; Den hier gezeigten Code hab von diesem Forumbeitrag ![]()
Code:
<?xml version="1.0" encoding="windows-1252"?>
<lcsdb> <db> <alias>Test</alias> <databasename>TestObjekt1</databasename> </db> </lcsdb> |
AW: XML-Datei manipulieren
Ich habe gerade kein Delphi zur Hand. Daher also nur das für mich offensichtliche:
1. Du lädst die XML-Datei 2. Du suchst dir den Knoten 3. Du lädst die XML-Datei und meinst, die Adresse für den Knoten hat sich nicht geändert. Ich habe mal die Zeilen auskommentiert, die hier stören.
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; |
AW: XML-Datei manipulieren
Vielen Dank für deine Antwort!
Ja, jetzt sehe ich es auch, was ein blöder Fehler. Deine Lösung hat den Fehler auch behoben!:-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz