AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Werte in einer XML datei überschreiben

Werte in einer XML datei überschreiben

Ein Thema von t0mmy · begonnen am 28. Jul 2010 · letzter Beitrag vom 29. Jul 2010
Antwort Antwort
Seite 1 von 2  1 2   
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#1

Werte in einer XML datei überschreiben

  Alt 28. Jul 2010, 18:20
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.

Geändert von t0mmy (28. Jul 2010 um 18:22 Uhr) Grund: Kommentare
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.563 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Werte in einer XML datei überschreiben

  Alt 28. Jul 2010, 18:38
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#3

AW: Werte in einer XML datei überschreiben

  Alt 28. Jul 2010, 19:51
Danke für deinen Link habs probiert zum Verstehen jedoch ohn jeglichen Erfolg.

bitte um Beispiel.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.563 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Werte in einer XML datei überschreiben

  Alt 28. Jul 2010, 19:59
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.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#5

AW: Werte in einer XML datei überschreiben

  Alt 28. Jul 2010, 20:17
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

Geändert von t0mmy (28. Jul 2010 um 20:46 Uhr)
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#6

AW: Werte in einer XML datei überschreiben

  Alt 29. Jul 2010, 10:32
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;

Geändert von mkinzler (29. Jul 2010 um 10:40 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.794 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Werte in einer XML datei überschreiben

  Alt 29. Jul 2010, 10:42
http://www.delphi-treff.de/tutorials...y/einfuehrung/
Markus Kinzler
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#8

AW: Werte in einer XML datei überschreiben

  Alt 29. Jul 2010, 11:09
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';

Geändert von mkinzler (29. Jul 2010 um 11:24 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.794 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Werte in einer XML datei überschreiben

  Alt 29. Jul 2010, 11:25
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)
Markus Kinzler
  Mit Zitat antworten Zitat
t0mmy

Registriert seit: 28. Jul 2010
431 Beiträge
 
Delphi 2010 Architect
 
#10

AW: Werte in einer XML datei überschreiben

  Alt 29. Jul 2010, 11:57
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'); ??

Geändert von t0mmy (29. Jul 2010 um 12:21 Uhr) Grund: Delphi-Tag eingefügt; XML-Tag eingefügt; ChildNodes
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 03:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf