Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML <->Textdatei (https://www.delphipraxis.net/57574-xml-textdatei.html)

philiph 23. Nov 2005 13:59


XML <->Textdatei
 
Als erstmal möchte ich sagen das ich mich mit XML nur ein sehr wenig auskenne!
Mein Problem ist das ich mit Delphi den Inhalt einer Textdatei in einer XML Datei speichern will und diese Daten später weiterverarbeiten,leider hab ich aber keine Ahnung wie

r_kerber 23. Nov 2005 14:03

Re: XML <->Textdatei
 
Zitat:

Zitat von philiph
Mein Problem ist das ich mit Delphi den Inhalt einer Textdatei in einer XML Datei speichern will und diese Daten später weiterverarbeiten,leider hab ich aber keine Ahnung wie

XML ist auch nur eine Text-Datei. Allerdings ist der Inhalt strukturiert (durch die Vewendung von XML-Tags). Besitzt Deine Text-Datei auch schon irgendeine Strukturierung?

philiph 23. Nov 2005 15:24

Re: XML <->Textdatei
 
Eigentlich nicht nur leerzeichen und Zeilenumbrüche

Hansa 23. Nov 2005 17:19

Re: XML <->Textdatei
 
Zunächst einmal wäre es wichtig zu wissen, warum die Daten in die XML-Datei rein sollen. 8) Wie Rainer schon sagt : Text und XML ist grundsätzlich dasselbe und unterscheiden sich lediglich in der Struktur und der Logik, was mit den Daten passieren soll. Für INIs gilt übrigens dasselbe.

r_kerber 23. Nov 2005 17:23

Re: XML <->Textdatei
 
Zitat:

Zitat von philiph
Eigentlich nicht nur leerzeichen und Zeilenumbrüche

Das ist aber nicht die Antwort auf meine Frage! Beschreibe doch bitte mal was in der Text-Datei steht und eventuell auch was Du mit XML beabsichtigst!

philiph 24. Nov 2005 07:37

Re: XML <->Textdatei
 
Also die Datei sieht so aus:

Zitat:

0001
PV-Anlage
TIME P-total
DD.MM.YYYY HH:MM:SS W
10.11.2005 15:08:44 28,00
10.11.2005 15:08:47 28,00
10.11.2005 15:08:50 28,00
Hat was mit den Daten einer Solaranlage zutun
Ich würde gerne erreichen das wenn möglich auch nur alles unter dem W übernommen wird
Da das glaube ich aber nicht geht würde es mir reichen das alles was da drin steht dan in der xml steht und von nem Programm ausgelesen un weiterverarbeitet werde kann.

sh17 24. Nov 2005 08:48

Re: XML <->Textdatei
 
Vielleicht So

Delphi-Quellcode:
<?xml version="1.0" encoding="windows-1252"?>

<anlage id="0001" name="PV-Anlage" bla="TIME P-total"
  <item date="10.11.2005" time="15:08:44" val="28,00" />
  <item date="10.11.2005" time="15:08:47" val="28,00" />
</anlage>
Wobei die Formatierung der Zeitwerte zu überdenken wäre

marabu 24. Nov 2005 09:25

Re: XML <->Textdatei
 
Hi Sven,

dein XML ist zwar (bis auf die fehlende spitze Klammer) formal korrekt, aber zwei Dinge machen mich nachdenklich:

(1) womit sollen die Daten denn später weiterverarbeitet werden? Für diese Daten ist XML von Natur aus nicht das optimale Transferformat - etwa 100% overhead ergeben eine schlechte netto brutto ratio. Wenn der Code für die Weiterverarbeitung auch selbst geschrieben wird, dann würde ich die Daten eher als CSV-Datei wegschreiben.

(2) beim Entwurf eines XML-Schemas stellt sich oft die Frage "Attribut oder Element". Eine gute Faustregel ist: Daten werden zu Elementen, Metadaten zu Attributen. Schwierig ist oft die Diskussion, ob eine Information mehr zu den Daten oder den Metadaten zu zählen ist. Im vorliegenden Fall könnte die XML-Datei dann so aussehen:

Code:
<?xml version="1.0" encoding="windows-1252"?>
<?settings decimalpoint="." date="YYYYMMDD" time="HHMMSS"?>
<anlage id="0001" name="PV-Anlage">
  <item>
    <date>20051110</date>
    <time>150844</time>
    <value>28.00</value>
  </item>
</anlage>
Die processing instruction ist hilfreich, wenn ohne Schema gearbeitet wird.

Freundliche Grüße vom marabu

sh17 24. Nov 2005 09:44

Re: XML <->Textdatei
 
Zitat:

Zitat von marabu
(1) womit sollen die Daten denn später weiterverarbeitet werden? Für diese Daten ist XML von Natur aus nicht das optimale Transferformat - etwa 100% overhead ergeben eine schlechte netto brutto ratio. Wenn der Code für die Weiterverarbeitung auch selbst geschrieben wird, dann würde ich die Daten eher als CSV-Datei wegschreiben.

Sicher, er wollte aber XML ;-)

Zitat:

Zitat von marabu
(2) beim Entwurf eines XML-Schemas stellt sich oft die Frage "Attribut oder Element". Eine gute Faustregel ist: Daten werden zu Elementen, Metadaten zu Attributen. Schwierig ist oft die Diskussion, ob eine Information mehr zu den Daten oder den Metadaten zu zählen ist. Im vorliegenden Fall könnte die XML-Datei dann so aussehen:

Für externe Nutzer ist ein Schema sicherlich sinnvoll.

Zu den Daten/Elementen und Metadaten/Attribute - ja das ist sicher eine Streitsache und hängt auch vom Einsatzzweck der XML-Datei ab.
Ich finde (und so handhaben wir es in unseren Projekten) Attribute die bessere Wahl, auch wenn Sie gegen geläufige Designregeln verstoßen. So lange es intern ist, kann es ja egal sein. Das Problem ist, wie du schon sagst, der Overhead. Wenn ich für jede kleine Eigenschaft ein Element einführe, wird die XML-Datei bombastisch groß. Da wir recht komplexe und große Objektbäume in XML abbilden, würde schon allein die Größe der XML-Datei nicht mehr vertetbar sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 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