AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML Datei anlegen

Ein Thema von Christian18 · begonnen am 25. Mai 2009 · letzter Beitrag vom 25. Mai 2009
Antwort Antwort
Seite 1 von 2  1 2      
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

XML Datei anlegen

  Alt 25. Mai 2009, 10:32
Hallo,

ich möchte eine XML Datei auf meiner Festplatte legen. In der Hilfe hatte ich folgendes gefunden.
Delphi-Quellcode:
procedure TElementsShift.SavePositions();
  var Path: String;
      XMLCFG: TXMLDocument;
begin
  Path:=ExtractFilePath(Application.ExeName) + 'CFG\' + FForm.Name + '.cfg';

  XMLCFG:=TXMLDocument.Create(Path);
  try

  finally
    XMLCFG.Free();
  end;
end;
Das funktioniert leider nicht, es kommt der Fehler: Systemfehler -2146697210. Line: 0

Hat jemand ne Idee warum?

MfG Christian18
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: XML Datei anlegen

  Alt 25. Mai 2009, 10:40
Kann es sein, dass die Datei direkt versucht wird zu laden? Denn das wäre für mich der Sinn einer Übergabe im Konstruktor oder was macht das?

Ich benutze das Interface IXmlDocument und habe damit keine Probleme. Ein Auszug aus einem Testprojekt:
Delphi-Quellcode:
var
  Test: IXMLDocument;
  TestNode: IXMLNode;
begin
  Test := NewXMLDocument();
  Test.Options := [doNodeAutoIndent];
  TestNode := Test.AddChild('test');
  TestNode.SetAttributeNS('xyz', 'namesp', 'valuexyz');
  TestNode.AddChild('ddd');
  Test.SaveToFile('test.xml');
Dafür musst du die Unit XmlIntf einbinden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#3

Re: XML Datei anlegen

  Alt 25. Mai 2009, 10:44
Hallo,

und wo bekommt man dieses Interface her? Wenn ich dein code bei mir einfüge, sagt die IDE Undefinierter Bezeichner.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: XML Datei anlegen

  Alt 25. Mai 2009, 10:44
Zitat von jaenicke:
Dafür musst du die Unit XmlIntf einbinden.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#5

Re: XML Datei anlegen

  Alt 25. Mai 2009, 10:50
ok, super funktioniert.

eine kurze frage noch.

diesen header erzeugt dein code:
<?xml version="1.0"?>

ich brauche aber diesen:
<?xml version="1.0" encoding="ISO-8859-1"?>

LG
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: XML Datei anlegen

  Alt 25. Mai 2009, 10:52
Es gibt direkt die Eigenschaft Encoding (wie ich gerade schnell gesehen habe) .Test.Encoding := 'Whatever'; Das wird es wohl sein.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#7

Re: XML Datei anlegen

  Alt 25. Mai 2009, 11:00
super danke funktioniert.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#8

Re: XML Datei anlegen

  Alt 25. Mai 2009, 12:10
ansonsten beim Create den Dateinamen nicht angeben und erst zum Schluß mit .SaveToFile speichern

Delphi-Quellcode:
XMLCFG := TXMLDocument.Create(nil);
XMLCFG.Active := True;
XMLCFG.Version := '1.0';
XMLCFG.Encoding := 'ISO-8859-1';
...
XMLCFG.SaveToFile(Dateiname);
XMLCFG.Free; // Free kann bei Verwendung von IXMLDocument
             // statt TXMLDocument, für XMLCFG, entfallen
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.350 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: XML Datei anlegen

  Alt 25. Mai 2009, 12:13
Zitat von himitsu:
ansonsten beim Create den Dateinamen nicht angeben
Also ist das so, das hatte ich ja vermutet, dass die Angabe des Dateinamens dort das Laden auslöst. (Wo die Datei ja noch nicht existiert.)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: XML Datei anlegen

  Alt 25. Mai 2009, 12:39
Zitat von himitsu:
ansonsten beim Create den Dateinamen nicht angeben und erst zum Schluß mit .SaveToFile speichern

Delphi-Quellcode:
XMLCFG := TXMLDocument.Create(nil);
XMLCFG.Active := True;
XMLCFG.Version := '1.0';
XMLCFG.Encoding := 'ISO-8859-1';
...
XMLCFG.SaveToFile(Dateiname);
XMLCFG.Free; // Free kann bei Verwendung von IXMLDocument,
             // statt TXMLDocument, für XMLCFG, entfallen
Und das funktioniert?
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz