Hallo an alle,
Ich habe ein Tool geschrieben und möchte meine Konfigurationen als XML-Datei speichern.
dazu habe ich zwei Fragen:
1)
Die Konfigurationen werden erstmal in ein Record geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| type Daten = record jobname :String[255]; trennzeichen :String[5]; trennzeichenanz :Integer; newindexwrite :Boolean; namemaske :String[255]; noziechen : Array[0..255] of String[255]; oldname :String[255]; indexfelds : Array[0..255] of String[255]; extension :String[5]; type suchenersetzen = record bezeichnung :String[50]; suchen :String[20]; ersetzen :String[20]; end; end; var config :Daten; |
jetzt soll alles in XML-Datei geschrieben werden, dazu habe ich für den Anfang folgende Procedure geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| Procedure saveconfig(); var XML: tXMLDocument; Node: IXMLNode; begin XML := TXMLDocument.Create(MainWindow); try XMl.Active := true; Node := XML.AddChild('jobname'); Node.NodeValue := config.jobname;
Node := XML.AddChild('trennzeichen'); Node.NodeValue := config.trennzeichen;
Node := XML.AddChild('trennzeichenanz'); Node.NodeValue := config.trennzeichenanz;
Node := XML.AddChild('newindexwrite'); Node.NodeValue := config.newindexwrite; finally XML.SaveToFile('jobs\' + config.jobname + '.xml'); XML.free; end; end; |
Compilieren klappt soweit, aber wenn ich die Konfigurationen schreiben lassen will, bekomme ich einen Fehler:
Quelltext
1:
| Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EOleException mit Meldung 'In einem XML-Dokument ist nur ein Element höchster Ebene zugelassen'. |
in folgender Zeile:
Delphi-Quelltext
1:
| Node.NodeValue := config.trennzeichen; |
Die Meldung ist eigentlich klar, ich weiß nur nicht wie ich es anders machen kann.
2)
Wie kann man am besten so ein Record speichern lassen (wegen array und Record im Record)??
!!! Bin Anfänger was arbeiten mit XML angeht. !!!