Hallo,
vielleicht stell ich mich auch zu ungeschickt an...aber der Umgang mit DOM ist mir nicht so ganz klar.
Bei den Beispielen im Lazverzeichnis gibts ja nur eins zu Streams, aber ich such ein ganz einfaches, zur verwendung einer der XML-Units von Laz.
Oder ist es für einfache Speicherzwecke eventuell sinnvoller, einfach eine eigene Art XML-ähnliche Datei zu erstellen und diese über Pos und Copy manuell auszulesen?
Sinn ist eigentlich, einzelne Datensätze mit drei Feldern vom Server zur Anwendung zu übertragen und in der Anwendung auszulesen und in die Datenbank zu schreiben.
Momentan erledige ich das mit ner einfachen Textdatei, die etwas eigenwillig aufgebaut ist. Ein Datensatz stellt eine Zeile der. Die Zeilen geh ich dan durch und lös über Commatext die drei Felder des Datensatzes wieder auf.
Wie würdet ihr so ein Update übertragen...s wie es jetzt schon funzt, oder doch lieber über ne Art xml?
XML
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Xml ist kein Allheilmittel oft eignet sich simpler text besser. Xml hat den vorteil das man es recht simpel transformieren kann macht also bei daten die austauschbar oder von anderen anwendungen verarbeitbar sein solln macht es sinn sonst nicht. Xml ist nur ein hype und wird zuoft als wundermittel verkauft es ist schön aber kein allheilmittel.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Sehe ich auch so. Das gleiche gilt für AJAX.monta hat geschrieben:Ich hab halt auch den Eindruck...das momentan alle schreien, wie toll xml ist, auch wenn es teilweise (zumindest mir) völlig überflüssig erscheint.
Die Leute brauchen halt was zum "hypen".
Für dein Problem könntest du meinen DataPacker verwenden:
http://www.theo.ch/lazarus/uDataPacker.pas" onclick="window.open(this.href);return false;
Der ist eigenlich genau dafür geschrieben und im Gegensatz zu XML sehr ökonomisch. Ich empfehle dir einen TMemoryDataPacker zu verwenden.
Code: Alles auswählen
// Variante 1: Schreiben und Lesen in gleicher Reihenfolge, unbenannt
DP.AddString('Hello World');
DP.AddInt(1234);
DP.AddString('Bye World');
//hier Stream übertragen
Writeln(DP.GetString);
Writeln(DP.GetInt);
Writeln(DP.GetString);
// Variante 2: Benannte Einträge, Reihenfolge unwichtig.
DP.AddString('Hello World', 'Str1');
DP.AddInt(1234, 'Int1');
DP.AddString('Bye World', 'Str2');
//hier Stream übertragen
Writeln(DP.GetString('Str1'));
Writeln(DP.GetString('Str2'));
Writeln(DP.GetInt('Int1'));
-
- Beiträge: 94
- Registriert: So 5. Nov 2006, 18:40
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Berlin
Ich habe mich in den letzten Tagen ein wenig mit den XML-Units der FCL beschäftigt, da ich im Moment einen kleinen Datenbank Client schreibe der Daten über XML empfängt.
Ich könnte also ein paar Tips geben, wenn Du die Aufgabenstellung noch ein wenig präzisieren würdest (evtl. per pm).
Für eigene (geschlossene) Anwendungen würde ich allerdings auch kein XML benutzen.
Das ganze macht nur für universelle und Plattform unabhängige Schnittstellen Sinn.
So wie ich Deine Aufgabenstellung verstehe, könntest du vielleicht auch einfach ein SDFDataset verwenden, um Datenbank-Funktionalität zu erhalten.
Ich könnte also ein paar Tips geben, wenn Du die Aufgabenstellung noch ein wenig präzisieren würdest (evtl. per pm).
Für eigene (geschlossene) Anwendungen würde ich allerdings auch kein XML benutzen.
Das ganze macht nur für universelle und Plattform unabhängige Schnittstellen Sinn.
So wie ich Deine Aufgabenstellung verstehe, könntest du vielleicht auch einfach ein SDFDataset verwenden, um Datenbank-Funktionalität zu erhalten.