sapdev logo background
sapdev logo sapdev logo
Comments

SAP ABAP IXML LIB PARSE DOM documentation, setup help and example usage



Return to SAP documentation index


ARTICLE

iXML Library - Complete Parse to DOM
To parse XML data to a DOM representation in a single action, a dedicated parser is used as follows:
DATA(rc) = parser- parse( ).
Here, parser is a reference variable that points to the parser. The parser checks whether the XML data of the input stream istream is correct and creates a DOM representation of this file in the memory. The return value of the method PARSE has the type i and uses values to produce the result that match the following constants from the type group IXML :
  • ixml_mr_parser_ok

  • The parsed XML data does not have any errors. Parsing was successful and all XML data is available in the saved XML
    document.
  • ixml_mr_parser_error

  • The parsed XML data has errors. Although the parser created a valid DOM from the XML file with the errors, it does not usually contain all the XML data. These errors can be analyzed .
  • ixml_mr_parser_fatal_error

  • The XML file could not be parsed at all. This error does not usually occur any more.
    If the parsing is successful, the XML document document associated with the parser can be used to access the DOM saved in the memory.

    Notes
  • If an XML element has multiple attributes with the same name, only one of these attributes is passed to DOM , which is given the value of the last identically named attribute (see this example ).

  • An alternative for complete parsing of XML data to the DOM

  • representation is to call the identity transformation ID with CALL TRANSFORMATION . See the example DOM
    Representation . No streams and factories need to be created explicitly here.

    Example
    Creates a parser for an input stream for a text string and parses it to an XML document.
    DATA(ixml) = cl_ixml=>create( ).
    DATA(stream_factory) = ixml->create_stream_factory( ).

    DATA(istream) = stream_factory->create_istream_string(
    `<(><<)>?xml version="1.0"?>` <(> <)><(> <)>
    ` <(><<)>text>` <(> <)><(> <)>
    ` Mer lasse de DOM in K�lle` <(> <)><(> <)>
    ` <(><<)>/text>` ).

    DATA(document) = ixml->create_document( ).
    DATA(parser) = ixml->create_parser(
    stream_factory = stream_factory
    istream = istream
    document = document ).

    DATA(rc) = parser->parse( ).

    IF rc <(><<)>> ixml_mr_parser_ok.
    ... "Error handling
    RETURN.
    ENDIF.
    Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved




    ABAP_IXML_LIB_PARSER
    ABAP_IXML_LIB_PARSE_ERROR




    comments powered by Disqus