![]() |
ChildNodes innerhalb eines Knoten in der Anordnung tauschen.
Hallo,
ich würde gern wissen ob es möglich ist bei folgendem Code den Code des ersten Logos mit dem des 2. zu tauschen und wenn ja, wie man das anstellt. So ist es bisher:
Delphi-Quellcode:
<?xml version="1.0" encoding="UTF-8"?>
<Compose> <object> <typ>TextField</typ> <name>nat1</name> </object> <object> <typ>TextField</typ> <name>nat2</name> </object> </Compose> Und so hätte ich es gern:
Delphi-Quellcode:
Hintergrund ist, dass ich viele dieser Objekt-Nodes haben werde und diese in ihrer Anordnung manuell sortieren können muss. Ich möchte in meiner Applikation also einfach nur eines der Items in einem Stringgrid anklicken und um einen Eintrag nach oben/unten verschieben können. Im Hintergrund möchte ich dann die Nodes im XML-Code tauschen.
<?xml version="1.0" encoding="UTF-8"?>
<Compose> <object> <typ>TextField</typ> <name>nat2</name> </object> <object> <typ>TextField</typ> <name>nat1</name> </object> </Compose> |
Re: ChildNodes innerhalb eines Knoten in der Anordnung tausc
Hallo torud,
auf die Gefahr hin das ich vollkommen falsch liege, aber das ist irgendwie eine Vergewaltigung der ursprünglichen Idee. Denn die Darstellung, so wie Du sie siehst (die Textdarstellung des XML-Files) hat nichts mit der Sortierung/Wertigkeit der Daten zu tun. Das was Du erreichen willst sollte über :
XML-Code:
funktionieren.
<Compose>
<object no='2'> <typ>TextField</typ> <name>nat1</name> </object> <object no='1'> <typ>TextField</typ> <name>nat2</name> </object> </Compose> Gruß K-H |
Re: ChildNodes innerhalb eines Knoten in der Anordnung tausc
Welche XML-Lib nutzt du denn?
Im Grunde ist es schon möglich, aber es gibt je nach Lib mehrere Möglichkeiten, welche mehr oder weniger umständlich wären. |
Re: ChildNodes innerhalb eines Knoten in der Anordnung tausc
Danke für die Antworten.
Aktuell mach ich leider noch mischmasch bestehend aus MSXML2_TLB und XMLDoc, XMLIntf, wobei ich demnächst wohl komplett letzteres nutzen werde. Zitat:
|
Re: ChildNodes innerhalb eines Knoten in der Anordnung tausc
Delphi-Quellcode:
uses XMLIntf;
procedure SwapSubnodes(Node1, Node2: IXMLNode); var i, i2: Integer; begin i2 := Node2.ChildNodes.Count; for i := 0 to Node1.ChildNodes.Count - 1 do Node2.ChildNodes.Insert(i2 + i, Node1.ChildNodes[i]); for i := 0 to i2 - 1 do Node1.ChildNodes.Insert(i, Node2.ChildNodes[i]); end; |
Re: ChildNodes innerhalb eines Knoten in der Anordnung tausc
Danke vielmals. Ich werde es dann gleich mal testen!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz