Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.167 Beiträge
 
Delphi 12 Athens
 
#4

AW: XML-Node kopieren

  Alt 7. Aug 2012, 14:09
Delphi-Quellcode:
// klont den Knoten "movie[id=3]" und speichert ihn in NewNode

//movies := xmlDoc.documentElement.selectNodes('movie'); // nicht verwendet
oldNode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="3"]');
newNode := OldNode.cloneNode(True);

// mit NewNode wird nichts gemacht und es wird am Ende der Prozedur wieder weggeworfen
// ließ einfach mal, was in der OH zu cloneNode (Xmldom.IDOMNode.cloneNode) steht.
Aber du willst ja wohl irgendwas in dieser Richtung haben:
Delphi-Quellcode:
// kopiert Inhalt von 3 nach 5
oldNode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="3"]');
newNode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="5"]');
for i := 0 to newNode.childNodes.length - 1 do
  newNode.appendChild(oldNode.childNodes.item[i].cloneNode(True));

// oder

// kopiert die 3, benennt die Kopie in 5 um
oldNode := xmlDoc.documentElement.selectSingleNode('/movieorganizer/movie[id="3"]');
newNode := xmlDoc.documentElement.selectSingleNode('/movieorganizer');
clone := oldNode.cloneNode(True);
clone.attributes.getNamedItem('id').text := '5';
newNode.appendChild(clone);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Aug 2012 um 14:12 Uhr)
  Mit Zitat antworten Zitat