AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?
Thema durchsuchen
Ansicht
Themen-Optionen

Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

Ein Thema von hoika · begonnen am 24. Apr 2019 · letzter Beitrag vom 29. Apr 2019
Antwort Antwort
Seite 1 von 2  1 2      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#1

Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 24. Apr 2019, 22:28
Hallo,
ein schöner provokanter Titel

ich habe diverse Xml-Dateien (20-50 MB gross).
Der Aufbau ist jeweils pro Datei fest vorgegeben, jeder Knoten ist in einer separaten Zeile (#13#10).

Bei der Nutzung diverser Xml-Komponenten (JEDI NativeXml, MS-XML, TXMLDocument) habe ich immer das Problem,
dass diese zeichenweise durch den ByteStream der Datei durchlaufen und dabei ihre internen Strukturen aufbauen.

Das passt ja auch ganz gut, wenn die Struktur unbekannt ist, aber ist ziemlich langsam.

Bsp.
Eine Datei mit einer sehr einfachen Xml-Struktur dauert aufgrund der Anzahl der Elemente (~50.000) sehr lange.
Baue ich das per StringList nach (ich kenne ja die einfache Struktur der Datei), dauert es statt der 30 Sekunden nur 0,5 Sekunden zum Laden der Daten.
Wie gesagt: Ich kenne die einfache Struktur.

Ich könnte jetzt für eine paar der Dateien eigene Lade-Implementationen bauen,
oder es gibt eine schnellere Implementation für Xml-Dateien?


Als Grundübel habe ich die lange Parser-Zeit und das Einsortieren in interne Strukturen erkannt (Quellcode hatte ich mir bei dem JEDI's angesehen).

Schön wäre eine On-the-fly-Implementierung, die bei jedem Knoten alle Parent-Knoten mitliefert,
und wo ich dann gezielt sagen könnte -> "Nehme ich und packe es in meine eigenen Strukturen".

Kennt jemand so eine Komponente?
Heiko

Geändert von hoika (24. Apr 2019 um 22:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
694 Beiträge
 
Delphi 12 Athens
 
#2

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 24. Apr 2019, 22:45
Ich pers. nutze die Delphi eigene Komponente (TXMLDocument) und bin damit zufrieden.
Allerdings habe ich keine Erfahrung, mit so grossen Dateien.
Roland
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 24. Apr 2019, 22:52
Hallo,
Danke, habe das oben gleich mal mit eingefügt
TXMLDocument benutzt ja idR MS-XML.
Heiko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 24. Apr 2019, 22:54
Hallo,
was ich vorhin mit On-The-Fly meinte, war ein SAX-Parser, siehe auch hier etwa in der Mitte

https://forums.embarcadero.com/messa...ssageID=657749
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.676 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 08:38
Also in diesem Fall sollte ein SAX-Parser genommen werden.

Und für XML nutze ich

http://www.kluug.net/oxml.php

Sehr flott
Sven Harazim
--
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 08:49
Danke.
Ich schau mir den mal an.
Heiko
  Mit Zitat antworten Zitat
Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
617 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 13:11
Wenns nur ums Lesen geht: http://www.destructor.de/xmlparser/index.htm.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
711 Beiträge
 
Delphi 12 Athens
 
#8

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 18:23
Kennt jemand so eine Komponente?
Ich hab früher mal mit SAX for Delphi gearbeitet, hat sehr gut funktioniert. Das ist aber schon etliche Jahre her, keine Ahnung, ob der Kode mit modernen Delphi-Versionen noch funktioniert.
Peter Below
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 18:34
Hallo,
ich teste mal die Links durch.

Unit-Tests sind mein bester Freund...
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 25. Apr 2019, 18:58
Was ist denn mit himitsus XML Unit?
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 06:48 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 by Thomas Breitkreuz