Zitat von
Alaitoc:
Ah gut, ja das ist dann wirklich Pech...hm naja ich würds so machen denk ich:
nur wenn es drauf ankommt, dann denkt keiner an Node2 und es kommt nur noch das bei raus
Delphi-Quellcode:
procedure Test;
var XML: IXMLDocument;
Node: IXMLNode;
begin
XML := coDOMDocument60.Create;
try
XML.Version := '
1.0';
XML.StandAlone := '
yes';
XML.Encoding := '
UTF-8';
XML.AddChild('
xml');
Node :=
XML.DocumentElement;
for i := 0
to 9999
do
Node.AddChild(IntToStr(i));
finally
Node :=
nil;
XML :=
nil;
end;
end;
theoretisch würde es auch so laufen
Delphi-Quellcode:
procedure Test;
var XML: IXMLDocument;
Node: IXMLNode;
begin
XML := coDOMDocument60.Create;
XML.Version := '
1.0';
XML.StandAlone := '
yes';
XML.Encoding := '
UTF-8';
XML.AddChild('
xml');
Node :=
XML.DocumentElement;
for i := 0
to 9999
do
Node.AddChild(IntToStr(i));
end;
Hier steckt ja nun alles in einer kleinen Prozedur, aber wenn die Variablen mal länger leben, dann könnte es schon auffallen.
Insgesamt sind diese Prozeduren (samt deiner) etwa gleich schnell und brauchen auch gleich viel Arbeitsspeicher,
aber wo ich dann messen wollte, welcher Schritt wie lange braucht und Dergleichen, da kam halt nur Mist raus.
Zitat von
Alaitoc:
Edit: Ach und ganz wichtig von wegen
msXML.
DocumentElement.AddChild !
Law of Demeter Da gehe ich zumindest immer nach *g*, außer es geht halt wirklich nicht anders...
Werd ich mir mal anschauen, auch wenn ich selber
MSXML aktuell nur noch für Versuchszwecke nutze.
[edit]
ach, das gilt allgemein ... na mal sehn, ob ich mir das auch noch Merke