XMLSplitter

Der XMLSplitteropen in new window kann sehr große XML-Dateien in kleiner Dateien aufsplitten. Das ist z.B. bei der Arbeit mit dem Step XMLReader notwendig, da sehr große Dateien z.B. > 50MB für Probleme und hohen Ressourcen-Verbrauch bei der Verarbeitung führen. Deshalb muss die große Datei aufgeteilt werden.

Beispiel

Nehmen wir an, folgende XML-Datei soll in eine Datei pro ARTIKEL aufgesplittet werden:

<?xml version="1.0" encoding="ISO-8859-1"?>
<ARTIKELLISTE>
            <ARTIKEL>
                <LFSN>ZEG</LFSN>
                <LFKURZBEZ>ZEG</LFKURZBEZ>
                <INTARTNR>8592</INTARTNR>
                <ARTNR>010-12983</ARTNR>
                <REFARTNR>010-12983</REFARTNR>
                <HERSTNR>870310 / 10870310</HERSTNR>
                <MARKE>Schwalbe</MARKE>
                <MARKENLOGO></MARKENLOGO>
                <MODELL>High Pressure</MODELL>
                <MODELLJAHR>0</MODELLJAHR>
                <FARBE>blau</FARBE>
            </ARTIKEL>
            <ARTIKEL>
                <LFSN>ZEG</LFSN>
                <LFKURZBEZ>ZEG</LFKURZBEZ>
                <INTARTNR>8593</INTARTNR>
                <ARTNR>010-12984</ARTNR>
                <REFARTNR>010-12984</REFARTNR>
                <HERSTNR>870311 / 10870311</HERSTNR>
                <MARKE>Simson</MARKE>
                <MARKENLOGO></MARKENLOGO>
                <MODELL>High Pressure</MODELL>
                <MODELLJAHR>0</MODELLJAHR>
                <FARBE>rot</FARBE>
            </ARTIKEL>
</ARTIKELLISTE>

Jeder Artikel ist durch ein <ARTIKEL> Tag umschlossen.

Die Konfiguration dafür könnte so aussehen:

Hier passiert folgendes:

  • splitTagName = ARTIKEL ist das Tag nach dem gesplittet werden soll
  • numEntriesPerFile = 1 sagt, dass jede Datei ein ARTIKEL enthalten soll
  • limit = 5 sagt, dass wir max. 5 Dateien insgesamt haben wollen (zum Testen kleine Werte nehmen, zum LIVE-Betrieb große Werte)
  • encoding - das Encoding der Quell und Zieldateien.
  • header - das was hier steht, wird jeder einzelnen gesplitteten Datei vor dem ARTIKEL voran gestellt
  • footer - analog zu header, nur wird es am Ende angefügt