report z. data: it_table like t001 occurs 0. data: l_dom TYPE REF TO IF_IXML_ELEMENT, m_document TYPE REF TO IF_IXML_DOCUMENT, g_ixml TYPE REF TO IF_IXML, w_string TYPE XSTRING, w_size TYPE I, w_result TYPE I, w_line TYPE STRING, it_xml TYPE DCXMLLINES, s_xml like line of it_xml, w_rc like sy-subrc. start-of-selection. select * from t001 into table it_table. end-of-selection. ******************************************** **** initialize iXML-Framework **** ******************************************** write: / 'initialiazing iXML:'. class cl_ixml definition load. g_ixml = cl_ixml=>create( ). check not g_ixml is initial. write: 'ok'. ******************************************** **** create DOM from SAP data **** ******************************************** write: / 'creating iXML doc:'. m_document = g_ixml->create_document( ). check not m_document is initial. write: 'ok'. write: / 'converting DATA TO DOM 1:'. CALL FUNCTION 'SDIXML_DATA_TO_DOM' EXPORTING NAME = 'IT_TABLE' DATAOBJECT = it_table[] IMPORTING DATA_AS_DOM = l_dom CHANGING DOCUMENT = m_document EXCEPTIONS ILLEGAL_NAME = 1 OTHERS = 2. if sy-subrc = 0. write 'ok'. else. write: 'Err =', sy-subrc. endif. check not l_dom is initial. write: / 'appending DOM to iXML doc:'. w_rc = m_document->append_child( new_child = l_dom ). if w_rc is initial. write 'ok'. else. write: 'Err =', w_rc. endif. ******************************************** **** visualize iXML (DOM) **** ******************************************** write: / 'displaying DOM:'. CALL FUNCTION 'SDIXML_DOM_TO_SCREEN' EXPORTING DOCUMENT = m_document EXCEPTIONS NO_DOCUMENT = 1 OTHERS = 2. if sy-subrc = 0. write 'ok'. else. write: 'Err =', sy-subrc. endif. ******************************************** **** convert DOM to XML doc (table) **** ******************************************** write: / 'converting DOM TO XML:'. CALL FUNCTION 'SDIXML_DOM_TO_XML' EXPORTING DOCUMENT = m_document * PRETTY_PRINT = ' ' IMPORTING XML_AS_STRING = w_string SIZE = w_size TABLES XML_AS_TABLE = it_xml EXCEPTIONS NO_DOCUMENT = 1 OTHERS = 2. if sy-subrc = 0. write 'ok'. else. write: 'Err =', sy-subrc. endif. write: / 'XML as string of size:', w_size, / w_string. describe table it_xml lines w_result. write: / 'XML as table of', w_result, 'lines:'.. loop at it_xml into s_xml. write s_xml. endloop. write: / 'end of processing'. * end of code