ABAP Keyword Documentation → ABAP − Reference → Data Interfaces and Communication Interfaces → ABAP and XML → Class Libraries for XML → sXML Library → sXML Library, Examples
sXML Library, Object-Oriented Rendering
Object-oriented writing of simple XML data.
Other versions: 
 7.31 | 7.40 | 7.54
Source Code
REPORT demo_sxml_oo_writer.
CLASS sxml_demo DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS main.
ENDCLASS.
CLASS sxml_demo IMPLEMENTATION.
  METHOD main.
    DATA(writer) =
      CAST if_sxml_writer( cl_sxml_string_writer=>create(  ) ).
    DATA open_element TYPE REF TO if_sxml_open_element.
    DATA value TYPE REF TO if_sxml_value_node.
    TRY.
        open_element = writer->new_open_element(
                         name = 'texts'
                         nsuri = 'http://www.sap.com/abapdemos'
                         prefix = 'demo' ).
        writer->write_node( open_element ).
        open_element = writer->new_open_element(
                         name = 'text'
                         nsuri = 'http://www.sap.com/abapdemos' ).
        open_element->set_attribute( name = 'format'
                                    value = 'bold' ).
        open_element->set_attribute( name = 'level'
                                    value = '1' ).
        writer->write_node( open_element ).
        value = writer->new_value( ).
        value->set_value( 'aaaa' ).
        writer->write_node( value ).
        writer->write_node( writer->new_close_element( ) ).
        open_element = writer->new_open_element(
                         name = 'text'
                         nsuri = 'http://www.sap.com/abapdemos' ).
        open_element->set_attribute( name = 'format'
                                    value = 'italic' ).
        open_element->set_attribute( name = 'level'
                                    value = '2' ).
        writer->write_node( open_element ).
        value = writer->new_value( ).
        value->set_value( 'bbbb' ).
        writer->write_node( value ).
        writer->write_node( writer->new_close_element( ) ).
        writer->write_node( writer->new_close_element( ) ).
      CATCH cx_sxml_state_error INTO DATA(error).
        cl_demo_output=>display_text( error->get_text( ) ).
        RETURN.
    ENDTRY.
    DATA(xml) =
      CAST cl_sxml_string_writer( writer )->get_output(  ).
    cl_demo_output=>display_xml( xml ).
  ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
  sxml_demo=>main( ).
Description
This example shows how XML data can be created using the methods for the object-oriented rendering of the interface IF_SXML_WRITER.