Delphi-PRAXiS
Seite 2 von 2     12   

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)

himitsu 29. Jul 2010 11:39

AW: Werte in einer XML datei überschreiben
 
Wo hast du app einen Node aus der XML zugewiesen?

Bei dir ist app "leer" (bei Interfaces ist es glücklicher Weile mit nil initialisiert) und dadurch entsteht natürlich die Zugriffsverletzung.
PS: sollte da nicht eigentlich Delphi irgendwas von "nicht initialisierter Variable" faseln? also in den Compilerwarnungen.


PSS: Zugriffsverletzungen auf Adresse $000000xx sollte dich immer stuzig machen und du solltest dich da mal nach einem NIL (als Inhalt) umsehen.

t0mmy 29. Jul 2010 12:13

AW: Werte in einer XML datei überschreiben
 
Nein, also der Compiler meldet nichts

ChrisE 29. Jul 2010 13:03

AW: Werte in einer XML datei überschreiben
 
Hallo t0mmy,

ist zwar nicht all zu elegant, aber das könnte dir weiter helfen:

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');
  // als erstes den Knoten 'test' finden
  app := lxml.ChildNodes.FindNode('test');
  // jetzt den knoten 'applicant_1' finden
  if app <> nil then
  begin
    app := app.ChildNodes.FindNode('applicant_1');
  end;
  // jetzt den Knoten 'family_name' finden
  if app <> nil then
  begin
    app := app.ChildNodes.FindNode('family_name');
  end;

  // prüfen, ob wir den Knoten gefunden haben -> wenn <> nil
  if app <> nil then
  begin
    app.text:='Schiefer'; // Hier die Fehlermeldung bzw. die Zugriffsverletzung
    lXML.SaveToFile('testXML.xml');
    ShowMessage('OK');
  end else
  begin
    ShowMessage('Node not found');
  end;
end;
Gruß, Chris

t0mmy 29. Jul 2010 14:03

AW: Werte in einer XML datei überschreiben
 
Danke vielmals... :-D
Ich hab gedacht man muss nicht den knoten suchen sonder ein Befehl findet den Knoten von selber und ändert den Inhalt...

Sehr gut Kommentiert :)

himitsu 29. Jul 2010 14:08

AW: Werte in einer XML datei überschreiben
 
Soeinen Eierlegenwollmilschsaubefehl gibt es (also fast)

Diese Angelegenheut nennt sich XPath > Hier im Forum suchenXPath MSDN-Library durchsuchenXPath oder XPath

t0mmy 29. Jul 2010 16:53

AW: Werte in einer XML datei überschreiben
 
Da hab ich noch ne kleine frage...

wie kann ich aber beim knote Order eine variable ändern

also zum Beispiel hier:

<Order No="2058003995" DispDate="22.07.2010" Basket="3995">

möchte ich No ändern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 2 von 2     12   

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