Einzelnen Beitrag anzeigen

BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#1

allgemein: Parser vorgehensweise.

  Alt 1. Feb 2010, 14:33
Hallo liebe DP Community!
Derzeit beschäftige ich mich mit einem Parser, der xml parsen soll.
(Ja, ich weiß, es gibt schon tausend und einen XML Parser , ich möchte nur selbst ans Werk, weil ich einfach grundlegend das Problem "parsen" intersannt finde.)

Jetzt zur Sache: Ich habe vor die Daten nur EINMAL im Speicher zu haben. D.h. ich nehme als Ausgangspunkt eine Stringvariable mit dem XML Inhalt.

Jetzt gehe ich den "Text" Zeichen für Zeichen durch. Ich habe eine spezielle Abwandlung von TList geschrieben, die mir nicht nur einen Pointer, sondern gleich einen ganzen Record zurückgibt.
Unter anderem sind da zwei (Index und Value) Pointer auf die Char Zeichen im Ausgangsstring drin, zwei Mal die Anzahl der zu lesenden Zeichen (Ja ich weiß, ist ein String zu Fuß ), die ID des Elternelements und der Typ(also: Knoten oder Attribut).
Wenn ich jetzt die Zeichen im String manipuliere, muss ich natürlich alle folgenden Pointer anpassen, da sich ja die Positionen verschieben. Beim verschieben muss ich aber auch den string-Teil weiter verschieben. Das braucht rechenzeit.

FRAGE: Was ist jetzt effizienter: Meine beschriebene Möglichkeit, beim durchparsen alles in einzelStrings Zerlegen (Brauch ich mehr Speicher)? Oder Objekte?
Oder was ganz Anderes (d.h. Bin ich auf dem Holzweg??? ) ???

Grüße
Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!
  Mit Zitat antworten Zitat