AGB  ·  Datenschutz  ·  Impressum  







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

Große xml Dateien importieren

Ein Thema von Keldorn · begonnen am 18. Mär 2022 · letzter Beitrag vom 28. Mär 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.662 Beiträge
 
Delphi 12 Athens
 
#1

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 11:44
Für so große Dateien sollte man besser auf einen SAX Parser umsteigen. Dabei wird die XML-Datei sequentiell gelesen und entsprechende Ereignisse ausgelöst, auf die man dann entsprechend reagieren kann.

Es mag auch andere geben, aber im Moment fällt mir da nur OXML ein: http://www.kluug.net/oxml.php
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
718 Beiträge
 
Delphi 12 Athens
 
#2

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 12:07
Ich kann Uwe da nur zustimmen, SAX ist für solch große Files die Methode der Wahl. Ich habe früher mal Sax für Pascal verwendet und war damit sehr zufrieden.
Peter Below
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 12:11
ok, danke, aber es ist richtig: eben dieser Teil ist bei Delphi im Standard nicht dabei?

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
718 Beiträge
 
Delphi 12 Athens
 
#4

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 12:23
ok, danke, aber es ist richtig: eben dieser Teil ist bei Delphi im Standard nicht dabei?
Stimmt.
Peter Below
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.662 Beiträge
 
Delphi 12 Athens
 
#5

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 12:23
ok, danke, aber es ist richtig: eben dieser Teil ist bei Delphi im Standard nicht dabei?
Wenn du die Interfaces für msxml nicht mitzählst, dann nicht. Aber um die zu benutzen wäre auch noch ein gewisser Aufwand nötig.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
completestranger

Registriert seit: 7. Okt 2018
25 Beiträge
 
#6

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 14:53
Wohin importieren? RDBMS?
  Mit Zitat antworten Zitat
Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 15:55
danke euch, ich schau mal, ob ich mit dem SAX weiterkomme

Wohin importieren? RDBMS?
ja, später direkt in eine DB. hab aber nur eine Pro, da fehlt mir auch irgendwo ein Stückchen und ich kann das nicht direkt.
momentan importiere ich es als Zwischenschritt in normale Clientdatasets, die mit der Größe auch nicht klarkommen

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat
completestranger

Registriert seit: 7. Okt 2018
25 Beiträge
 
#8

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 15:58
Entweder ich bin blind oder es wurde immer noch nicht geschrieben welches RDBMS zum Einsatz kommt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.662 Beiträge
 
Delphi 12 Athens
 
#9

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 16:22
momentan importiere ich es als Zwischenschritt in normale Clientdatasets, die mit der Größe auch nicht klarkommen
Was insofern auch nicht verwunderlich ist, da diese ja auch alle Daten im Speicher halten - was bei 1,7 GB XML-Daten ja auch mit einem SAX-Parser nicht unbedingt laufen wird.

Ich würde erstmal versuchen das Memory-Problem mit SAX und dem Schreiben in eine CSV-Datei lösen. Dabei sollte man dann aber auch TStreamWriter anstatt TStringList verwenden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
722 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Große xml Dateien importieren

  Alt 18. Mär 2022, 12:22
Hallo, SAX habe ich auch schon verwendet. Auch um Tabellen einzulesen die etwas größer sind. Wir von verwenden /NSoftware TipwXML.
Keine Ahnung ob es das noch kostenlos bei Delphi dabei ist, wenn ich nicht irre war da mal was.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz