Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   xml add child (https://www.delphipraxis.net/155222-xml-add-child.html)

value is NULL 13. Okt 2010 14:33

xml add child
 
hey community

habe ich ein problem hinter mir, taucht auch schon das nächste auf :(

habe folgendes xml:

Delphi-Quellcode:
<config>
   <host>http://192.168.1.2:8080</host>
   <active>0</active>
</config>
aufgabe ist, active auf 1 zu setzen.

auslesen ist ja kein problem:

Delphi-Quellcode:
uses
   ...xmldoc, xmlintf;
......
var
  config : IXMLDocument;
  mynode : IXMLNode;
  active : string;
begin
  config := LoadXMLDocument('C:\test.xml');
  myNode := config.documentelement;
  active := myNode.ChildNodes.FindNode('active').text;
  Writeln(active);
end;
wie kann ich jetzt aber den active wert ändern ?

LG

stahli 13. Okt 2010 14:55

AW: xml add child
 
Steh´ ich jetzt auf dem Schlauch? Ist Text ReadOnly (habe gerade keine Testmöglichkeit)?

Sollte nicht
Delphi-Quellcode:
myNode.ChildNodes.FindNode('active').text := '1'
gehen?

Ein Problem gibt es u.U., wenn der Knoten noch nicht existiert. Das sind eben die Probleme mit den XML-Kompos.

GHorn 13. Okt 2010 15:27

AW: xml add child
 
@stahli:
Das geht so. Die Eigenschaft "Text" ist nicht schreibgeschützt.

Ob es den Knoten tatsächlich gibt, lässt sich zuvor über
FindNode und der Prüfung auf NULL abfangen.

P.S.: NULL ist natürlich Quatsch. Das muß NIL heißen.

Gruß
Gerald

value is NULL 13. Okt 2010 15:36

AW: xml add child
 
hm also ich habs jetzt so versucht:

Delphi-Quellcode:
 myNode.ChildNodes.FindNode('active').Text := '1';
da passiert gar nicht :( nicht mal ne fehlermeldung...

Sir Rufo 13. Okt 2010 15:46

AW: xml add child
 
Wo schaust du denn nach, ob sich was verändert hat?

In der xml Datei? Hast du das Dokument denn auch wieder gespeichert?

value is NULL 13. Okt 2010 15:53

AW: xml add child
 
ups xD

mit Savetofile wäre es natürlich dann besser oder? xD

DANKE!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr.

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