Ich versuche, eine große Datei (> 5 GB) mit strukturierten Markup-Daten zu parsen. Das Datenformat ist im Wesentlichen XML, aber es gibt kein explizites Root-Element. Was ist der effizienteste Weg, das zu tun?
Das Problem mit SAX-Parser ist, dass sie ein Root-Element benötigen, so dass ich entweder ein Pseudo-Element zum Datenstrom hinzufügen muss (gibt es ein Äquivalent zu Javas SequenceInputStream in Python?) oder ich muss zu einem nicht-SAX-konformen Ereignis-basierten Parser wechseln (gibt es einen Nachfolger von sgmllib?)
Die Struktur der Daten ist recht einfach. Im Grunde eine Auflistung von Elementen:
<Document>
<docid>1</docid>
<text>foo</text>
</Document>
<Document>
<docid>2</docid>
<text>bar</text>
</Document>
*in der Tat zu iterieren