Einzelnen Beitrag anzeigen

sephraina

Registriert seit: 17. Feb 2015
36 Beiträge
 
Delphi XE7 Professional
 
#1

IXmlDocument Node kopieren

  Alt 4. Jul 2015, 13:24
Hallo Zusammen

Ich möchte gerne einen ganzen Knoten aus einem IXmlDocument Kopieren und ihn in ein Neues packen.

Bei DP fand ich diesen Post: http://www.delphipraxis.net/169717-x...-kopieren.html
nur ist der schon etwas älter... oder ich mach was grundsätzlich falsch.

Mein Ansatz (Natürlich alles vorher initialisiert / deklariert):
Delphi-Quellcode:
if myxml = nil then myxml := newXMLDocument else myxml.XML.Clear;
    myxml.LoadFromFile('C:\Users\xml.xml'); // Hier wird das 1. File geladen
    if xmlT = nil then xmlT := newXMLDocument else xmlT.XML.Clear; // hier wird das 2.File erzeugt
    rNode := xmlT.AddChild('Daten'); //rootnode des 2.Files
    tNode := rNode.AddChild('Probendaten');
    
    with myxml.DocumentElement do
         begin
          for y := 0 to ChildNodes.Count-1 do
              begin
                   iNode := childnodes[y];
                   for i := 0 to iNode.ChildNodes.Count-1 do
                   begin // ich vergleiche den Attributwert mit einem String (j). Wenn true soll der Knoten ins neue Dokument kopiert werden
                        if iNode.ChildNodes.Nodes[i].GetAttributeNS('TXT_Charge','') = j then
                        begin
                               
                               showmessage('iNode: nodename: '+iNode.ChildNodes.Nodes[i].XML); // gibt mir den Knotennamen + Inhalt des gewünschten Knoten aus
                               
                               tNode.AddChild(iNode.ChildNodes.Nodes[i].cloneNode(True)); // <=== hier scheint mein Problem
                               
                               showmessage(xmlT.XML.Text); // überprüfen ob der Knoten eingefügt wurde
                        end;


                   end;
              end;
            end;
Hoffe jemand hat eine Idee oder sieht grad den Fehler...

Gruss Sephraina
  Mit Zitat antworten Zitat