Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Werte in einer XML datei überschreiben (https://www.delphipraxis.net/153310-werte-einer-xml-datei-ueberschreiben.html)

t0mmy 28. Jul 2010 17:20

Werte in einer XML datei überschreiben
 
Hallo

Ich bin Anfänger in Sachen Delphi programmierung deshalb hab ich so meine schwierigkeiten.. und zwar ich möchte mit nem Button Werte in einer xml-Datei überschreiben... Jedoch hab ich keinen Plan welche units bzw. wie ich das ganze überhaupst machen soll. also eine einfache schritt für schritt anweisung bzw. ein ganzer Programmcodeauszug würde mir helfen.
Ich weiss nur das man mit XMLDocument1.LoadFromFile('d:\test.xml'); die Datei laden kann. Aber beim Compilieren meldet er mir ein Undeclared Identifier: XMLDocument1

Achja Erklärungskommentare würden mir die Verständlichkeit erleichtern

Danke schon mal im Vorraus.

himitsu 28. Jul 2010 17:38

AW: Werte in einer XML datei überschreiben
 
XMLDocument1 ist eine Variable und diese mußt du natürlich erstmal deklarieren.
Außerdem soll es bestimmt eine Instanz von Delphi-Referenz durchsuchenTXMLDocument oder Delphi-Referenz durchsuchenIXMLDocument sein.

t0mmy 28. Jul 2010 18:51

AW: Werte in einer XML datei überschreiben
 
Danke für deinen Link habs probiert zum Verstehen jedoch ohn jeglichen Erfolg.

bitte um Beispiel.

himitsu 28. Jul 2010 18:59

AW: Werte in einer XML datei überschreiben
 
Schau dir einfach mal im Forum die anderen Beispiele an (Hier im Forum suchenTXMLDocument)
und binde vorher die Unit XMLDoc und eventuell noch die Units XMLDOM und XMLIntf ein.

t0mmy 28. Jul 2010 19:17

AW: Werte in einer XML datei überschreiben
 
Okay ich glaub ich habs.. so wie kann ich jetzt z.B.: einen eintrag in der xml datei überschreiben?
z.B.: Wenn in der xml datei <COMM>blabla</COMM> steht und ich statt blabla... Hello eintragen möchte?



Okay --> app.ChildNodes['COMM'].text:='Hello

t0mmy 29. Jul 2010 09:32

AW: Werte in einer XML datei überschreiben
 
Hallo

Soweit so gut kann ich jetzt mit dem unteren programmcode eine xml-Datei lesen und sie dann als geänderte-Datei abspeichern, aber wie kann ich nun in der xml-datei einen wert ändern? z.B

<family_name>Meyer</family_name> --> <family_name>Schiefer</family_name>

1) das müsste doch mit app.SetAttribute('family_name',' meintext'); aber es funktioniert nicht :(

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lXML : iXMLDocument;
  app : IXMLNode;
begin
lXML := TXMLDocument.Create(nil);
lxml.LoadFromFile('C:\Users\Tomi\Test1\test.xml');
//HIER GEHÖRT 1) ????
lxml.SaveToFile('C:\Users\Tomi\Test1\test_geändert.xml');
end;

mkinzler 29. Jul 2010 09:42

AW: Werte in einer XML datei überschreiben
 
http://www.delphi-treff.de/tutorials...y/einfuehrung/

t0mmy 29. Jul 2010 10:09

AW: Werte in einer XML datei überschreiben
 
Danke für den Link aber der bringt mich nicht weiter, hab da aus einem anderen thread (http://www.delphipraxis.net/141106-x...-einlesen.html) mehr informationen rauslesen können... aber dazu fehlt mir jegliches Verständnis. Ich möcht nochmal erwähnen das ich ein Anfänger bin.



Hab da jetzt 3 Befehle, aber bei allen drei bekomm ich einen Laufzeitfehler..
Delphi-Quellcode:
//app.ChildNodes['family_name'].text:='Schiefer';
//app.SetAttribute('family_name','Schiefer');
//app.ChildValues['family_name']:='Schiefer';

mkinzler 29. Jul 2010 10:25

AW: Werte in einer XML datei überschreiben
 
Was für ein Fehler?
Zitat:

Ich möcht nochmal erwähnen das ich ein Anfänger bin.
Kann man ändern.

BTW: Verwende bitte Code-Tags (in deinem Fall den Delphi-Tag)

t0mmy 29. Jul 2010 10:57

AW: Werte in einer XML datei überschreiben
 
Man möge den Kommentar beachten.
Was mach ich falsch??

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  lXML : iXMLDocument;
  app : IXMLNode;
begin
lXML := TXMLDocument.Create(nil);
lxml.LoadFromFile('C:\Users\Tomi\Test1\test.xml');
//lxml.Active := True;
app.ChildNodes['family_name'].text:='Schiefer'; // Hier die Fehlermeldung bzw. die Zugriffsverletzung
lxml.SaveToFile('C:\Users\Tomi\Test1\test_geändert.xml');
end;
end.

Hier die XML-Datei:
XML-Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>
   <applicant_1>
      <family_name>Meyer</family_name>
      <given_name>Harald</given_name>
      <testdate>13.03.2009</testdate>
      <language>english</language>
      <WR_RW>229</WR_RW>
   </applicant_1>
</test>
Also warum app.ChildNodes könnte mir klar sein, weil ich nämlich nicht den ganzen XML-Code einlese aber warum funktioniert nicht app.ChildValues['family_name']:='Schiefer'; oder app.SetAttribute('family_name','Schiefer'); ??


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz