Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Alternative zu count einer XML Datei (https://www.delphipraxis.net/181212-alternative-zu-count-einer-xml-datei.html)

p80286 25. Jul 2014 12:16

AW: Alternative zu count einer XML Datei
 
Dann schau doch mal hier hinein.

Gru�
K-H

mjustin 25. Jul 2014 13:18

AW: Alternative zu count einer XML Datei
 
Zitat:

Zitat von Takeo (Beitrag 1266629)
Gibt es eine alternative zu Count, damit ich mir diese Zeit sparen kann? Geht etwas in der Art, dass das letzte Element gelesen wird, ohne, dass er alles durchzählen muss und mir dann die "Zeilennummer" des letzten Elements sagt?

Eine Alternative ist SAX (http://de.wikipedia.org/wiki/Simple_API_for_XML), wobei die XML Datei nicht (wie bei DOM basierten XML Bibliotheken) als Ganzes in den Speicher eingelesen und geparst wird. Da insgesamt weniger Speicher alloziert werden muss und kein DOM Baum aufgebaut wird, kann es auch einen kleinen Performancevorteil geben. Zählen muss man auch hier, anhand einer Callbackfunktion in der man beim zu zählenden Elementnamen jeweils einen Counter erhöht.

Mit SAX kann dann zum Beispiel Callbackfunktionen verwenden um auf bestimmte Werte des "Name" Attributs reagieren sobald der Parser sie erreicht.

Einige XML Bibliotheken für Delphi unterstützen SAX, ich habe bisher aber leider keine aktiv eingesetzt.

Takeo 25. Jul 2014 13:22

AW: Alternative zu count einer XML Datei
 
Hallo zusammen,

danke für eure Hilfe!

Ich habe es nun selbst lösen können. Es lag einfach an der doofen Standard XML Lösung.

Verwende nun diesen Parser. Funktioniert einwandfrei, die Zeit ist von 10min auf 3s zurückgegangen :-D

Thema gelöst!

Gruß Takeo


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:36 Uhr.
Seite 2 von 2     12   

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