XML DocumentElement komplett kopieren?
-
Hi zusammen,
schon wieder ich, und schon wieder eine Frage
Bin gerade dabei, mehrere XML Dateien in eine Datei zusammen zu führen.
Also das DocumentElement jeder Datei als ChildNode in eine neue zu kopieren.PseudoCode:
//nDoc = neuDatei
while( alteDatei ) // Anzahl > 1
{
_di_IXMLDocument oldDatei = LoadXMLDocument( alteDatei);
nDoc->DocumentElement->Add( oldDatei->DocumentElement );
...
}Hoffe es ist soweit verständlich?!
Oder muss ich wirklich alle Nodes, ChildNodes, ... einzeln einlesen und dann wieder schreiben? Genau das will ich - auch aus Performancegründen - vermeiden.
thx schonmal & grüssle
-
Keiner? Ok, dann eben ich
int i; UnicodeString jFile; xmlDoc = new TXMLDocument( "" ); xmlDoc->Options = xmlDoc->Options << doNodeAutoIndent; xmlDoc->Active = true; xmlDoc->Encoding = "UTF-8"; _di_IXMLDocument Doc2Join; _di_IXMLNode deNode, dataNode; xmlDoc->DocumentElement = xmlDoc->CreateElement( L"DATA", "" ); dataNode = xmlDoc->DocumentElement; for( i = 0; i < lvwFileList->Items->Count; i++ ) { if( lvwFileList->Items->Item[i]->Checked ) { jFile = jDir + lvwFileList->Items->Item[i]->Caption; Doc2Join = LoadXMLDocument( jFile ); deNode = Doc2Join->DocumentElement; dataNode->ChildNodes->Add( deNode->CloneNode(true) ); } } xmlDoc->SaveToFile( edtNewFileName->Text );
grüssle