> Mein Kompliment.
danke für die Blumen.
> Ich habe eine Frage zu PT_MSXML3_ReleaseObject.
> [...]
Wenn Du ein Objekt erstellst (z.B. bei CreateDocument()) bekommst Du
einen Pointer auf die Adresse, an der sich das Objekt im Speicher befindet.
Mit ReleaseObject() gibst Du das Objekt an der übergebenen Speicherstelle
wieder frei.
Mit SelectSingleNode() in Deinem Beispiel funktioniert das genauso. Hier
wird ein Node-Objekt erstellt und dessen Anfangsadresse zurückgegeben,
mit deren Du dann das Node-Objekt wieder aus dem Speicher entfernen
kannst (PT_MSXML3_ReleaseObject(lTheItemNode)).
> Tabstopps und Zeilenumbrüche einzufügen, wenn man eine XML-Datei
> editorfreundlich abspeichern will, hast Du vermutlich nicht ins Auge
> gefasst.
ja, das hat mir auch schon einiges an Kopfzerbrechen bereitet. Es gibt
mehrere Methoden für die XML-Formatierung:
Zum einen kann man ein entsprechend gestaltetes XML-Stylesheet (XSL)
verwenden, um das DomDocument zu transformieren (PT_MSXML3_TransformNode()
oder die entsprechenden *special*-Funktionen). Wenn man im Internet ein
wenig herumsucht, scheint das wohl die geläufigste Methode zu sein.
Nachteile: Bei sehr grossen DomDocumenten kann das schon mal ein
wenig dauern und: Es funktioniert nicht immer.

Leider habe ich noch
nicht herausfinden können, woran das liegt. Auf jeden Fall lässt sich das
auch bei geläufigen XML-Editoren mit Transformationsmöglichkeiten
nachvollziehen (XML-Spy, CookTop, etc.)
Zum anderen gibt es die Möglichkeit, an entsprechenden Stellen im
DomDocument Text-Elemente (#CrLf$ und #Tab$) einzufügen. Eine
VB-Implementation habe ich mir schon angeschaut, die ich dann in PB
überführen möchte.
Ich arbeite dran
Grüße ... Kiffi