Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#12

AW: Alternative zu count einer XML Datei

  Alt 25. Jul 2014, 13:18
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.
Michael Justin

Geändert von mjustin (25. Jul 2014 um 13:24 Uhr)
  Mit Zitat antworten Zitat