Ansicht
Dokumentation
ABENABAP_IXML_LIB_PARSE_DOM - ABAP IXML LIB PARSE DOM
SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up General Data in Customer MasterDiese Dokumentation steht unter dem Copyright der SAP AG.
- Komplettes Parsen in ein DOM
Um XML-Daten in einem Durchgang in eine DOM-Darstellung zu parsen, wird ein dafür erzeugter Parser wie folgt verwendet:
DATA(rc) = parser->parse( ).
Dabei ist parser eine Referenzvariable, die auf den Parser zeigt. Der Parser überprüft die XML-Daten des Eingabestroms istream auf ihre Korrektheit und erzeugt im Speicher eine DOM-Darstellung dieser Datei. Der Rückgabewert der Methode PARSE ist vom Typ i und teilt das Ergebnis über Werte mit, die den folgenden Konstanten aus der Typgruppe IXML entsprechen:
- ixml_mr_parser_ok
- Die geparsten XML-Daten sind fehlerfrei. Das Parsen war erfolgreich und alle XML-Daten sind im gespeicherten XML-Dokument vorhanden.
- ixml_mr_parser_error
- Die geparsten XML-Daten sind fehlerhaft. Der Parser hat aus den fehlerhaften XML-Daten zwar ein gültiges DOM erzeugt, das dann in der Regel aber nicht alle XML-Daten enthält. Die Fehler können analysiert werden.
- ixml_mr_parser_fatal_error
- Die XML-Daten konnten überhaupt nicht geparst werden. Dieser Fehler tritt in der Regel nicht mehr auf.
Nach erfolgreichen Parsen kann über das mit dem Parser verknüpfte XML-Dokument document auf das im Speicher abgelegte DOM zugegriffen werden.
Hinweise
- Wenn ein XML-Element mehrere gleichnamige Attribute hat, wird nur eines dieser Attribute in das DOM gestellt, das dann den Wert des letzten gleichnamigen Attributs hat (siehe Beispielprogramm DEMO_XML_ATTRIBUTES).
- Für das komplette Parsen von XML-Daten in die DOM-Darstellung kann der Aufruf der Identitäts-Transformation ID mit CALL TRANSFORMATION eine Alternative sein. Siehe das ausführbare Beispiel DOM-Darstellung. Dort ist keine explizite Erzeugung von Strömen und deren Factory notwendig.
Beispiel
Erzeugen eines Parsers für einen Eingabestrom für einen Textstring und Parsen desselben in ein XML-Dokument.
Fill RESBD Structure from EBP Component Structure Vendor Master (General Section)
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 3066 Date: 20240523 Time: 163541 sap01-206 ( 47 ms )