Gibt es in Python einen schnellen XML-Parser, mit dem ich den Start des Tags als Byte-Offset im Stream abrufen kann?

ch arbeite mit potenziell großen XML-Dateien, die komplexe Ablaufverfolgungsinformationen aus einem meiner Projekte enthalte

Ich möchte Indizes für diese XML-Dateien erstellen, damit Sie schnell nach Unterabschnitten des XML-Dokuments suchen können, ohne alles in den Speicher laden zu müssen.

Wenn ich einen "Shelve" -Index erstellt habe, der Informationen wie "Bücher für Autor Joe" zu Offsets enthält [22322, 35446, 54545], kann ich die XML-Datei wie eine normale Textdatei öffnen und nach diesen Offsets suchen und Habe das dann zu einem der DOM-Parser, die eine Datei oder Strings nehmen.

Der Teil, den ich noch nicht herausgefunden habe, ist, wie man das XML schnell analysiert und einen solchen Index erstellt.

So was ich als schnellen SAX-Parser brauche, der es mir ermöglicht, den Start-Offset von Tags in der Datei zusammen mit den Start-Ereignissen zu finden. So kann ich einen Teil des XML-Codes zusammen mit dem Startpunkt in das Dokument analysieren, die Schlüsselinformationen extrahieren und den Schlüssel und den Offset im Shelve-Index speichern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage