Ich habe mit einem SAX-Parser für eine Weile jetzt, um Daten aus verschiedenen XML zu erhalten, aber heute bin ich hämmern meinen Kopf auf ein neues Problem mit einem hudge XML (im Vergleich zu den vorherigen . hier rund 12k Zeilen) mit vielen sich wiederholenden Elemente in es. Die meiste Zeit, die Elemente sind Teil eines Blocks :
<content>
<item lbl="blabla">
<item lbl="blabla"/>
<item lbl="blabla"/>
</item>
<item lbl="blabla">
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
<item lbl="blabla"/>
</item>
</content>
Der Blabla-Teil ändert sich natürlich... Aber ich möchte die Struktur der Artikel beibehalten (es sind Titel und Untertitel). Dazu füge ich jedem blabla einen Anfangs- und Endtag hinzu <itemx>blabla</itemx>
, wobei x die Position im Baum der Elemente (1, 2, 3 oder 4) ist. Der etwas problematische Teil ist, dass mit, dass ich Tausende von nutzlosen Objekten erstellen und der Garbage Collector hat keine Zeit, nach dem Parser zu reinigen, und die unvermeidliche OutOfMemory kommt in mein Gesicht... Ich habe keine Idee, wie man damit umgehen kann; Die beste Technik wäre, wenn ich den gesamten Inhalt von <content></content>
aber ich bin mir nicht sicher, ob dies mit einem SAX-Parser möglich ist.
Jede Hilfe ist willkommen und jede Lösung wird dankbar angenommen...