AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi XML Datei erzeugen und auslesen - uses Problem
Thema durchsuchen
Ansicht
Themen-Optionen

XML Datei erzeugen und auslesen - uses Problem

Ein Thema von ImpCaligula · begonnen am 9. Mai 2007 · letzter Beitrag vom 10. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
ImpCaligula

Registriert seit: 30. Aug 2006
21 Beiträge
 
#1

XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 12:17
Salü...

ich verwende Delphi 2005 und habe ein VCL Win32 erstellt. Und würde gerne eine XML Datei erstellen
und dann auslesen. Dazu habe ich ein "Buch" Bsp verwendet. Aber er moniert mir an, dass er den XMLSerializer
und den zweiten Serielizer nicht kennt, Was muss ich bei uses noch einbinden?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    cmd1: TButton;
    cmd2: TButton;
    procedure cmd2Click(Sender: TObject);
    procedure cmd1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
TMensch = class(TObject)
  public
    Alter: Byte;
    Name: String;
end;

var
  Form1: TForm1;

implementation


procedure TForm1.cmd1Click(Sender: TObject);
var
  Mensch: TMensch;
  Ser: XmlSerializer;
  Writer: StreamWriter;
begin
Mensch := TMensch.Create;
  Mensch.Alter := 15;
  Mensch.Name := 'fido';

  Writer := StreamWriter.Create('Mensch.xml');
  Ser := XmlSerializer.Create(typeof(TMensch));
  Ser.Serialize(Writer, Mensch);
  Writer.Close;
end;

procedure TForm1.cmd2Click(Sender: TObject);
var
  Mensch: TMensch;
  Ser: XmlSerializer;
  Reader: StreamReader;
begin
Reader := StreamReader.Create('Mensch.xml');
  Ser := XmlSerializer.Create(typeof(TMensch));
  Mensch := Ser.Deserialize(Reader) as TMensch;
  Reader.Close;

  showmessage(Mensch.Name + ' ist ' + IntToStr(Mensch.Alter + ' Jahre alt.'));
  
end;

end.

Diese zwei

Delphi-Quellcode:
  Ser: XmlSerializer;
  Writer: StreamWriter;
mosert er mir an :-/


Danke für Eure Hilfe.
  Mit Zitat antworten Zitat
kolbaschedder

Registriert seit: 24. Aug 2006
Ort: Schwäbisch Gmünd
55 Beiträge
 
Delphi 2006 Professional
 
#2

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 12:37
So wie das aussieht, ist der XMLSerializer eine .Net-Klasse. Dafür müsstest du eine .Net-Anwendung erstellen.

MfG
Kolbi
  Mit Zitat antworten Zitat
ImpCaligula

Registriert seit: 30. Aug 2006
21 Beiträge
 
#3

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 12:42
Zitat von kolbaschedder:
So wie das aussieht, ist der XMLSerializer eine .Net-Klasse. Dafür müsstest du eine .Net-Anwendung erstellen.

MfG
Kolbi
Habe ich sonst eine Möglichkeit das mit VCL Win32 zu machen?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 12:48
TXMDocument z.B.
  Mit Zitat antworten Zitat
Benutzerbild von zecke
zecke

Registriert seit: 17. Jan 2004
494 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 12:49


Zum Umgang mit XML habe ich mir im Forum mal ein Tutorial gefunden, das war ganz anschaulich und hat bei mir funktioniert. Schau mal nach XML und Tutorial, dann solltest fündig werden. [edit]Das Tutorial nutzte auch die von Jelly angesprochene TXMLDocument[/edit]

Ansonsten glaube ich wird das mit "Mensch.Name" nicht funktionieren, weil ich sowas in Erinnerung habe, dass Name 'reserviert', also nicht als Variablenamen nutzbar ist. Da bin ich mir allerdings nicht mehr ganz sicher
mfg zecke
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 9. Mai 2007, 18:33
Wenn du ein XSD Schema hast, so kannst Du dieses auch in Delphi importieren und über Klassen und Properties ganz bequem auf das XML Dokument zugreifen. Bequemer gehts wirklich nicht mehr. Wenn Du willst, such ich mal ein Beispiel raus und hängs hier rein.
  Mit Zitat antworten Zitat
ImpCaligula

Registriert seit: 30. Aug 2006
21 Beiträge
 
#7

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 10. Mai 2007, 11:17
Zitat von Jelly:
TXMDocument z.B.
& an zecke.....

Ich habe danach gesucht und folgende Anleitung gefunden:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, XMLDoc, XMLIntf;

type
  TForm1 = class(TForm)
    cmd1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure cmd1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
var
myFirstXML : IXMLDocument;

procedure TForm1.FormCreate(Sender: TObject);
begin
myFirstXML := newXMLDocument;
end;

procedure TForm1.cmd1Click(Sender: TObject);
begin
myFirstXML.LoadFromFile('test.xml');
end;

end.

Das habe ich 1:1 aus dieser "Hilfe" kopiert. Aber genau dies schlägt fehl:
Delphi-Quellcode:
procedure TForm1.cmd1Click(Sender: TObject);
begin
myFirstXML.LoadFromFile('test.xml');
end;

Was mache ich denn da falsch?
  Mit Zitat antworten Zitat
Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#8

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 10. Mai 2007, 11:22
Was schlägt denn fehl? Bekommst du eine Fehlermeldung?

Cu,
Udontknow
  Mit Zitat antworten Zitat
ImpCaligula

Registriert seit: 30. Aug 2006
21 Beiträge
 
#9

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 10. Mai 2007, 11:47
Zitat von Udontknow:
Was schlägt denn fehl? Bekommst du eine Fehlermeldung?

Cu,
Udontknow
Ja logisch, man sollte nat. schon sagen, welcher Fehler genau auftritt zur Analyse. mein Fehler *g*.
Daher gleich mal eine HC gemacht - und hier ist das Ergebnis:

http://img208.imageshack.us/img208/4...meldungbi0.jpg
  Mit Zitat antworten Zitat
Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#10

Re: XML Datei erzeugen und auslesen - uses Problem

  Alt 10. Mai 2007, 12:00
EDomParseError: Das könnte bedeuten, das es eventuell kein gültiges XML ist, was du da in der Datei hast. Probiere mal eine, von der du weisst, daß das XML korrekt aufgebaut ist (z.B. ein als XML abgespeichertes Clientdataset-File).

Cu,
Udontknow
  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 05:25 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