AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

FDMemTable zu XML convertieren

Ein Thema von linxxruxx · begonnen am 24. Sep 2019 · letzter Beitrag vom 28. Sep 2019
Antwort Antwort
Seite 1 von 2  1 2   
linxxruxx

Registriert seit: 19. Aug 2019
28 Beiträge
 
#1

FDMemTable zu XML convertieren

  Alt 24. Sep 2019, 09:58
Hallo,

ich habe eine FDMemTable mit vielen Einträgen.

Das Ziel wäre es, die Memtable zu durchlaufen und immer den aktuellen Eintrag, also die ausgewählte Zeile als XML zu speichern.

Delphi-Quellcode:
FDMemTable1.First;
   
while not FDMemTable1.Eof do
begin
  NewXML := FDMemTalbe1.XMLData;
  ShowMessage(NewXML);
  FDMemTalbe1.Next;
end;

Leider funktioniert das so nicht, da er mir dann immer alle Einträge der FDMemTable1 als XML speichert.
Hat jemand eine Idee, wie ich jeden Eintrag einzeln ins XML-Format bringen kann? Um es so dann an den Server zu senden?


Danke für die Hilfe
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#2

AW: FDMemTable zu XML convertieren

  Alt 24. Sep 2019, 10:11
XML ist eine Beschreibungssprache. Kann man sich also wie Deutsch oder Englisch vorstellen.

Du willst jetzt Daten als XML um diese an einen Server zu senden.

Würde übersetzt lauten: Du willst einen Antrag bei einer deutschen Behörde stellen.

Tja, dafür reicht aber die deutsche Sprache nicht, sondern du brauchst ein Formular bzw. du musst dich an weitere Formularien halten zusätzlich zu deutsch.

Und genauso ist das mit XML oder JSON und so einem Server. Ohne also genau zu kennen was der Server wirklich haben will (ja, ja, XML, das haben wir verstanden) wird das nix.
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
977 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FDMemTable zu XML convertieren

  Alt 24. Sep 2019, 10:46
Ich kenne FDMemTable nicht so gut, aber wenn es unbedingt die Methode .XMLData sein muss, vielleicht hilft dir ein Filter, der nur den aktuellen Datensatz durchlässt? Die Schleife wird natürlich ein wenig komplizierter. Oder du baust eine zweite TFDMemTable mit identer Struktur und kopierst nur den aktuellen Datensatz dorthin.

Oder du erzeugst dein XML mit eigenen Mitteln.
  Mit Zitat antworten Zitat
UntoterGeist

Registriert seit: 18. Sep 2019
25 Beiträge
 
#4

AW: FDMemTable zu XML convertieren

  Alt 26. Sep 2019, 23:02
Du willst also, dass er die Einträge alle in eine Datei speichert, aber er speichert alles in einer neuen Datei? Das erschließt sich mir nicht so richtig. Ist NewXML eigentlich ein String? Weil dann kannst du alles in einen einzigen String packen und zum Schluss erst Abschicken Speichern oder sonst was. Auch: In deinem Beispiel gibst du es ja als Messagebox aus. Von daher weiß ich nicht was du da sendest.
  Mit Zitat antworten Zitat
linxxruxx

Registriert seit: 19. Aug 2019
28 Beiträge
 
#5

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 06:34
Hallo,

ich konnte die Sache jetzt etwas anders lösen. Und zwar haben wir uns für Json entschieden.
Sende also einfach einen JsonString an den Server, anstatt mir ein komplettes XML in Delphi zu bauen
Damit kann das Backend super arbeiten.

Hierfür habe ich zwei Tabellen meiner Aufträge.
Zum einen eine mit allen Aufträgen inkl. Änderungen und zum anderen eine Cache Tabelle, wo nur die Änderungen drin sind.
Diese Cache Tabelle lade ich mir in eine Memtable, speichere die Inhalte in ein JSON-Objekt und schicke sie an den Server.
Danach ändere ich den Status in der Cache Tabelle, indem ich "SentToServer" auf true setze.
Das ist später für mich ein Anhaltspunkt, um die bereits gesendeten Aufträge aus der Cache Tabelle zu löschen.

Danke für die Zeit und Mühe.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 06:46
Sende also einfach einen JsonString an den Server, anstatt mir ein komplettes XML in Delphi zu bauen
Damit kann das Backend super arbeiten.
Bei diesen Aussagen kann man nur verständnislos mit dem Kopf schütteln.

Statt einem kompletten XML baust du dir nun ein komplettes JSON.
Statt einfach ein XML zu senden sendest du nun einfach ein JSON.

Wo war da der Unterschied?

Die Backends, die ich so kenne (und auch baue) haben kein Problem mit JSON, XML und wenn man möchte YAML oder welch anderes strukturierte Format auch kommen mag. Es ist einfach nur ein Serializer/Deserializer der hinzugefügt wird und das war es.

Aber wenn es funktioniert ist es ja gut. Irgendwann fängt man auch an zu verstehen ...
  Mit Zitat antworten Zitat
linxxruxx

Registriert seit: 19. Aug 2019
28 Beiträge
 
#7

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 06:56
ja du hast schon recht.
Aus ner Zeile einer Memtable ein JSON-Objekt zu erstellen empfand ich jetzt trotzdem als einfacher.
Das ging mit XML nicht so einfach bezüglich einer Zeile. Zumindest für mich.
Für dich oder andere ist das wsl. ein Zuckerschlecken aber dafür bin ich halt noch zu unwissend und unerfahren und stell mich vll nicht ganz so schlau an.

@Schokohase: bei dir hab ich nur das Gefühl, dass ich hier drin am besten Garnichts mehr posten darf, so wie du jedesmal reagiert hast.
Auch wenn ich mich nicht so profimäßig verständige, dachte ich wird trotzdem nett reagiert.
Bin ja auch super dankbar, für jede Antwort gewesen.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#8

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 07:18
Ok, ich werde mich in Zukunft aus deinen Themen heraushalten.
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.507 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 07:24
Du musst nur weniger schroff sein, ganz einfach.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.926 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#10

AW: FDMemTable zu XML convertieren

  Alt 27. Sep 2019, 09:18
@Schokohase: Das ist ja nun albern gleich hier und in der englischen DP das Handtuch zu werfen.
Ich habe deine Beiträge, trotz oder gerade wegen deiner direkten und schroffen Art, immer gerne gelesen und was gelernt.

Solltest du aber wegen mir unbekannter Vorgänge gegangen worden sein, dann ist das halt Hausrecht und okay.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf