ABAP and XML
This section explains how XML data can be created and read in ABAP. The main topics are
- processing and creating XML data using parsers and renderers created and used using the APIs found in class libraries,
- the direct transformation of ABAP data to JSON format (known as serialization) and reads of data in JSON format to ABAP data objects (known as deserialization) using transformations located as programs in the repository.
ABAP provides the following technologies for handling XML:
Class libraries enable the parsing and rendering of general XML data; transformations, on the other hand, are used mostly to serialize ABAP data to XML and deserialize XML data to ABAP. The technologies are linked in such a way that objects in class libraries can be used as the source and target of transformations.
- In this documentation, XML data generally indicates a character string or byte string whose value is in XML format and which can appear in various forms, such as strings or internal tables. The term "XML document" generally indicates the representation of XML data in DOM format.
- When XML data is saved in strings or internal tables, it is best to use byte strings or byte-like row types and the UTF-8 code page for the representation.
sXML Library supports byte-like data only.
iXML Library and the statement
CALL TRANSFORMATIONsupport text strings and internal tables with character-like data types too.
- When saving to formats other than UTF-8, it should be noted that the XML data must be prefixed with a byte order (BOM), in accordance with the XML standard. This applies specifically when saving character-like data in the character representation UCS-2 used by the ABAP programming language. This can render XML data written as character-like data in Unicode systems as non-handleable in non-Unicode systems.