![]() |
XML Datei schreiben
Hallo erstmal,
ich habe mir grade mal die TXMLDocument Kompo von Delphi (7Pro) angeguckt... Ich würde gerne in Delphi bestimmte Daten eingeben und diese dann nach einem gewissen System in eine XML-Datei schreiben.Hat einer ein kleines Beispielprog oder Hilfe wie ich die Dateien mit dieser Kompo erstelle und schreibe?! Danke MFG Alex |
Re: XML Datei schreiben
hi,
hier im forum gibts ein xml tutorial! einfach mal in tutorials und kurse schauen! *MFG* |
Re: XML Datei schreiben
danke...
ich habe mir das grade mal angeguckt aber entweder bin ich blind :wall: oder ich sehe nichts darüber wie man mit der Delphi Kompo eine Datei erstellt... Ich habe es mal so versucht:
Delphi-Quellcode:
Aktiv ist die Kompo...
XMLDocument1.FileName := 'C:\H.xml';
MsgNode.Text := 'Hallo'; XMLDocument1.AddChild(MsgNode.Text); XMLDocument1.SaveToFile('C:\H.xml'); Aber leider steht am Ende nix in der Datei und ein Fehler bekomme ich auch noch dazu... Könnt ihr mir bitte helfen?!?! MFG |
Re: XML Datei schreiben
sorry wenn ich nerve, aber hat echt keiner eine Idee, wie ich eine komplett leere XML Datei "fülle"?!
danke alex |
Re: XML Datei schreiben
Das steht doch alles in dem Tutorial. :gruebel:
|
Re: XML Datei schreiben
ich habe es jetzt endlich hinbekommen... es war eine programmzeile falsch :-)
nur habe ich jetzt eine xml-datei die so aussieht: <Messages><Message><BOSS>DU</BOSS><WO>HIER</WO></Message></Messages> ich verwende jetzt auch nicht die Kompo von Delphi sondern IXMLDOMDocument weiß einer, wie ich das mit den zeilenumbrüchen und einrückungen mache? options gibts zwar bei der kompo einzustellen aber hier bei IXMLDOMDocument leider nicht... das steht auch nicht im Tutorial erklärt. Hoffe ihr könnt mir helfen MFG Alex |
Re: XML Datei schreiben
Nein - da gibt's keine Patentlösung.
AFAIK gibt es nur einen Weg ein Indent einzubauen - das manuelle Einfügen via CreateTextNode! |
Re: XML Datei schreiben
danke für den Tip mit dem createtextnode...
mein Source sieht wie folgt aus:
Delphi-Quellcode:
Nur wie mache ich das mit dem CreateTextNode?
procedure TForm1.CreateXML;
var xmldoc : IXMLDOMDocument2; root : IXMLDOMNode; elem : IXMLDOMNode; Leer : IXMLDOMNode; begin xmldoc := CoDOMDocument40.Create; xmldoc.loadXML('<Messages></Messages>'); if xmldoc.documentElement.nodeName <> 'Messages' then Exit; xmldoc.createTextNode(#13#10); root := xmldoc.createElement('Message01'); // neues Element erstellen <- in dem Fall Root element elem := xmldoc.createElement('BOSS'); // neues Element erstellen elem.text := 'DU'; Root.appendChild(elem); // Element in RootElement hängen xmldoc.documentElement.appendChild(Root); xmldoc.save('C:\test.xml'); end; Kann mir da bitte jemand helfen?? Danke Alex |
Re: XML Datei schreiben
Du musst mal gucken was "CreateTextNode" als Ergebnis zurückliefert. Im Prinzip ist es nur eine Sonderform eines ganz normalen XML-Knotens. Eben für Texte. Und den hängst du wie jeden anderen Knoten an die gewünschte Stelle im Dokument ein. Und dadurch entsteht der Zeilenumbruch. Die Einrückung würdest du noch mit dem Tab #9 hinbekommen.
|
Re: XML Datei schreiben
Aus'm Kopf und ohne Gewähr...
z.B. Vor dem eigentlichem XMLNode.appendChild(...:
Code:
FXMLDoc ist hier vom Typ IXMLDOMDocument2. Das in der Klammer ist die Einrückung - hier 2 Spaces.
XMLNode.appendChild(FXMLDoc.createTextNode(#13#10+' '));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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