Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi OpenXML und schreiben (https://www.delphipraxis.net/56962-openxml-und-schreiben.html)

Springfielder 14. Nov 2005 10:41


OpenXML und schreiben
 
Ich habe mich jetzt schon längere Zeit mit dem OpenXML Paket beschafft und bin gerade am Verzweifeln. Ich kann zwar ohne Probleme eine XML-Datei lesen aber ich finde keine Methode um diese zu verändern. Ich will neuen Inhalt der als String vorliegt in eine XML-Datei schreiben aber wie geht das?

Dirk

AndreasP 14. Nov 2005 10:54

Re: OpenXML und schreiben
 
mahlzeit,

vieleicht hilft dir das:
http://homepages.borland.com/ccalver...ML%20to%20Disk

Springfielder 14. Nov 2005 11:03

Re: OpenXML und schreiben
 
Ja das habe ich auch schon mehrmals durchgelesen. Aber diese ganzen Create-Methoden werden bei mir nicht angeboten. Wo stehen diese drin bzw. was hab ich vielleicht vergessen einzufügen?

AndreasP 14. Nov 2005 11:21

Re: OpenXML und schreiben
 
mahlzeit,

du must auch wirklich TFileStream verwenden. bei TMemoryStream oder TStream hast du natürlich nur Create. folgender code läst sich bei mir (D7) ohne probleme kompelierien (ohne "<DeineXMLDocVariable>"):
Delphi-Quellcode:
var FS: TFileStream;
  s: string;
begin
  s := <DeineXMLDocVariable>.Code;
  FS := TFileStream.Create('C:\Test.dat', fmCreate or fmOpenWrite);
  FS.Write(PChar(S)^, Length(S));
  FS.Free;
end;

Springfielder 14. Nov 2005 11:53

Re: OpenXML und schreiben
 
Damit schreibe ich jedoch den String in eine Datei, ich will jedoch etwas in ein bestehendes Node-Objekt schreiben.
Meine letzten Überlegungen waren folgende:
Wenn ich z.B. eine CreateNode Methode hätte könnte ich mir ein Node-Objekt mit meinem Inhalt bauen und dann mit ReplaceNode die alte Node aus dem XMLTree mit meiner neuen Node ersetzen. Aber dieses Create habe ich eben nicht (keine Ahnung warum) :cry:

Springfielder 16. Nov 2005 08:55

Re: OpenXML und schreiben
 
Kennt sich jemand mit der StringToDom Funktion aus?
Folgendes führt bei mir zum abbruch:
Delphi-Quellcode:
newdoc:= Form3.XmlToDomParser1.StringToDom(text,'',nil,false);
text ist ein beliebiger String z.B. "<test>test</test>"

bonsai 5. Dez 2005 12:31

Re: OpenXML und schreiben
 
das mit dem access violation-fehler kommt bei mir auch immer. benutz einfach die streamtodom-funktion. geht auch, nur ohne fehler :)

ulrich.b 18. Feb 2006 00:07

Re: OpenXML und schreiben
 
Zitat:

Zitat von Springfielder
Damit schreibe ich jedoch den String in eine Datei, ich will jedoch etwas in ein bestehendes Node-Objekt schreiben.

Beschreib dioch mal was du genau schreiben willst (Nodes einfügen, anfügen / Attribute schreiben, verändern / ...). Dann kann ich dir sicher helfen.


lg


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz