Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Xmlnode.childnodes.Add Howto (https://www.delphipraxis.net/163194-xmlnode-childnodes-add-howto.html)

value is NULL 19. Sep 2011 10:11


Xmlnode.childnodes.Add Howto
 
Hi Leute

Will mir gerade ein XML Tool basteln welches folgendes macht:

Ich habe ein XML welches wie folgt aussieht (zumindest ein Teil davon):

Code:
<module>
 <module servername="WIN2K3-V3-3" type="MGR" moduleindex="0" />
 <module servername="WIN2K3-V3-3" type="ACCM" moduleindex="101" />
 <module subtype="virtual" servername="WIN2K3-V3-3" type="hw" moduleindex="102" />
 <module subtype="virtual" servername="WIN2K3-V3-3" type="sw" moduleindex="104" />
 <module subtype="virtual" servername="WIN2K3-V3-3" type="Web" moduleindex="110" />
 <module subtype="physical" servername="WIN2K3-V3-3" type="system" moduleindex="200" />
 <module subtype="virtual" servername="WIN2K3-V3-3" type="system" moduleindex="201" />
 <module subtype="physical" servername="WIN2K3-V3-3" type="system" moduleindex="444" />
 <module subtype="virtual" servername="WIN2K3-V3-3" type="system" moduleindex="608" />
</module>
ich möchte mir jetzt ein kleines xmltool schreiben, welches mir per commandline module hinzufügt bzw. wieder löscht. Ich benutze dafür "xmlintf" und "xmldoc"

ich lade mir das xml
Delphi-Quellcode:
xml := LoadXMLDocument('C:\test\app\config\cfg.xml');
und will es jetzt ändern. Ich haber aber bisher nur mit
Delphi-Quellcode:
myNode.ChildNodes.FindNode('post').Text := '1';
gearbeitet. Wie kann ich das am schönsten realisieren?! Bin XML technisch nicht so bewandert und schon froh das ich mir überhaupt Werte auslesen kann :)

LG und Danke schon mal

Luckie 19. Sep 2011 10:19

AW: Xml
 
Bitte gebe deinem Beitrag einen aussagekräftigen Titel. Wir haben hier eine ganze Sparte die XML heißt.

value is NULL 19. Sep 2011 13:23

AW: Xml
 
@ Luckie
wie mach ich das den ?! ;)

zu meine Problem, das mit dem delete habe ich bereits auf die Reihe bekommen aber mit dem ADD bin ich akut eher planlos :/

LG

Union 19. Sep 2011 13:27

AW: Xml
 
Du kannst den Titel über Bearbeiten->Erweitert ändern.

value is NULL 19. Sep 2011 13:59

AW: Xmlnode.childnodes.Add Howto
 
erledigt!

kan mir jemand erklären wie ich zu einer erstellten Node mehrer Attribute hinzufügen kann? Ich habe zwar schon was mit OpenXML gesehen verwende aber überall und immer
xmlintf, xmldoc

Für ein kleines Beispiel wäre ich sehr dankbar!

LG

FaTaLGuiLLoTiNe 19. Sep 2011 14:15

AW: Xmlnode.childnodes.Add Howto
 
Wenn mich nicht alles täuscht:

Delphi-Quellcode:
XMLNode.Attributes[Attributname] := Attributwert;


Wenn noch kein Attribut mit dem angegebenen Namen existiert, wird es automatisch hinzugefügt.
Existiert das Attribut bereits, wird nur der Wert geändert.

value is NULL 19. Sep 2011 14:26

AW: Xmlnode.childnodes.Add Howto
 
du hast recht :)

das funktioniert prima, ABER wie kann ich zu einem Node mehrere Elemente hinzufügen? so funktionierts ja mit einem:

Delphi-Quellcode:
xmlnode.AddChild('module').Attributes['subtype'] := 'value';

FaTaLGuiLLoTiNe 19. Sep 2011 14:31

AW: Xmlnode.childnodes.Add Howto
 
AddChild gibt dir die Referenz auf den erstellten Knoten zurück.
Die kannst du speichern und dann damit weiterarbeiten.

Delphi-Quellcode:
NewNode := XMLNode.AddChild('module');
NewNode.Attributes['subtype'] := 'virtual';
NewNode.Attributes['servername'] := 'WIN2K3-V3-3';

usw...

value is NULL 19. Sep 2011 14:37

AW: Xmlnode.childnodes.Add Howto
 
Geile Sache! Funzt wie ne 1

LG


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 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