1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[Java] Zerhacken eines XML-Files

Dieses Thema im Forum "XML Technologien" wurde erstellt von oraclin25, 13. Juni 2014.

  1. oraclin25

    oraclin25 Erfahrenes Mitglied

    Hallo zusammen,

    ich würde gerne ein XML-File von einfacher Struktur inhaltlich zerhacken:

    Code (Text):
    1. <rootElement>
    2. <meinTag>inhalt</meinTag>
    3. <meinTag>inhalt</meinTag>
    4. <meinTag>inhalt</meinTag>
    5. <meinTag>inhalt</meinTag>
    6. <meinTag>inhalt</meinTag>
    7. <meinTag>inhalt</meinTag>
    8. ...
    9. </rootElemenet>
    Die Ergebnisse sollen so aussehen
    Code (Text):
    1. <rootElement>
    2. <meinTag>inhalt</meinTag>
    3. </rootElemenet>
    Code (Text):
    1. <rootElement>
    2. <meinTag>inhalt</meinTag>
    3. </rootElemenet>
    Code (Text):
    1. <rootElement>
    2. <meinTag>inhalt</meinTag>
    3. </rootElemenet>
    usw..

    Diese Ergebnisse werde ich nachher in eine Liste von String packen.

    Hat jemand eine Idee, wie ich mit SAX-API am optimalsten das XML inhaltlich zerhacken? Ich habe die Idee, dass der Parser beim Parsen die einzelnen Sachen on the fly wegschreiben, geht das? NACH jedem Wegschreiben wird das XML immer erst validiieren, bevor es weiter geht mit dem Wegschreiben. Soll ich vielleicht einen anderen Parser nehmen?

    Vielen Dank für die Hilfestellungen.

    Viele Grüße aus Rheinland,

    Eure Ratna
     
  2. ComFreek

    ComFreek Mod | @comfreek Moderator

    Hallo Ratna,

    wie wäre es mit getElementsByTagName()? Damit könntest du alle meinTag-Tags bekommen.
     
  3. oraclin25

    oraclin25 Erfahrenes Mitglied

    Hallo ComFreek,

    vielen Dank für die Hilfestellung. Dein Vorschlag hat mich verleitet, auf folgendes Lösungskonzept zu kommen:
    Code (Text):
    1. if (xsr.getEventType() == XMLStreamReader.START_ELEMENT && "meinTag".equals(xsr.getLocalName())) {
    2. ...
    3. }
    Ich habe also StaX genommen.

    Viele Grüße aus Rheinland,

    Eure Ratna
     
Die Seite wird geladen...