<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: XML parse in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053374#M1502282</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sas...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example... we have a simple XML, like the following...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;xml...&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;tag1&amp;gt;asas&amp;lt;/tag1&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;xyz&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;abc&amp;gt;asdasd&amp;lt;/abc&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/xyz&amp;gt;&lt;/P&gt;&lt;P&gt;(...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We need to catch a tag from it... &amp;lt;tag1&amp;gt; for example... or anything else... and their value too... &lt;/P&gt;&lt;P&gt;Our idea is parse this XML through ABAP... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can we do this?!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Jul 2010 18:38:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2010-07-07T18:38:49Z</dc:date>
    <item>
      <title>XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053372#M1502280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to parse a XML on ABAP, because I need to catch a tag from their  body....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I do it?!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jul 2010 18:09:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053372#M1502280</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-07T18:09:15Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053373#M1502281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can you explain with example ???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;sas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jul 2010 18:13:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053373#M1502281</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-07T18:13:25Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053374#M1502282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi sas...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Well...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example... we have a simple XML, like the following...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;xml...&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;tag1&amp;gt;asas&amp;lt;/tag1&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;xyz&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;abc&amp;gt;asdasd&amp;lt;/abc&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/xyz&amp;gt;&lt;/P&gt;&lt;P&gt;(...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We need to catch a tag from it... &amp;lt;tag1&amp;gt; for example... or anything else... and their value too... &lt;/P&gt;&lt;P&gt;Our idea is parse this XML through ABAP... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can we do this?!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jul 2010 18:38:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053374#M1502282</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-07T18:38:49Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053375#M1502283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are several ways to parse XML with ABAP, which you'll find by searching on 'parse' and 'xml' in the forums.  One way is to use CALL TRANSFORMATION and a transformation template written in ABAP ST or XSLT.  You can suck out a single value from the xml string or you can parse the whole thing into variables, structures and/or internal tables.  Check the help files and then take a look at some of the examples in transaction XSLT_TOOL for '&lt;STRONG&gt;DEMO&lt;/STRONG&gt;'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jul 2010 19:28:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053375#M1502283</guid>
      <dc:creator>brad_bohn</dc:creator>
      <dc:date>2010-07-07T19:28:03Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053376#M1502284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Brad....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, exist's something like a search into string?!&lt;/P&gt;&lt;P&gt;I don't want to parse all XML just to catch a single string into they...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can do it?!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jul 2010 19:36:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053376#M1502284</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-07T19:36:39Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053377#M1502285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sure - there are several ways to do that as well.  Check the help on 'FIND' - you can get the offset of the first tag and read the string from the end of the opening tag to the closing tag (or the start of the next tag '&amp;lt;').&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 12:31:58 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053377#M1502285</guid>
      <dc:creator>brad_bohn</dc:creator>
      <dc:date>2010-07-08T12:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053378#M1502286</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Brad... &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can we get the value between two tags...&lt;/P&gt;&lt;P&gt;For example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;abc&amp;gt;value&amp;lt;/abc&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know how can I get the value inside this tags.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_big_eyes:"&gt;😃&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 13:43:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053378#M1502286</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T13:43:12Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053379#M1502287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;IF string CS '&amp;lt;TAG&amp;gt;.&lt;/P&gt;&lt;P&gt;   w_start_pos = sy-fdpos.&lt;/P&gt;&lt;P&gt;endif &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF string CS '&amp;lt;/TAG&amp;gt;.&lt;/P&gt;&lt;P&gt;   w_end_pos = sy-fdpos.&lt;/P&gt;&lt;P&gt;endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_length = w_end_pos - w_start_pos.&lt;/P&gt;&lt;P&gt;w_sub_String = w_string+w_start_pos(w_length).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Martin Shinks on Jul 8, 2010 3:46 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 13:46:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053379#M1502287</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T13:46:47Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053380#M1502288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What is the input, a string containing the XML tags ? And you want to get the value of a particular tag ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 13:49:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053380#M1502288</guid>
      <dc:creator>SuhaSaha</dc:creator>
      <dc:date>2010-07-08T13:49:33Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053381#M1502289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SOTR_TAGS_REMOVE_FROM_STRING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This FM will remove tags and gives you value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;sas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 14:04:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053381#M1502289</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T14:04:16Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053382#M1502290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report  ZTEST_XML_SAS&lt;/P&gt;&lt;P&gt;REPORT  ZTEST_XML_SAS LINE-SIZE 1023.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPE-POOLS: ixml.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF t_xml_line,&lt;/P&gt;&lt;P&gt;          data(256) TYPE x,&lt;/P&gt;&lt;P&gt;        END OF t_xml_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_ixml            TYPE REF TO if_ixml,&lt;/P&gt;&lt;P&gt;        l_streamfactory   TYPE REF TO if_ixml_stream_factory,&lt;/P&gt;&lt;P&gt;        l_parser          TYPE REF TO if_ixml_parser,&lt;/P&gt;&lt;P&gt;        l_istream         TYPE REF TO if_ixml_istream,&lt;/P&gt;&lt;P&gt;        l_document        TYPE REF TO if_ixml_document,&lt;/P&gt;&lt;P&gt;        l_node            TYPE REF TO if_ixml_node,&lt;/P&gt;&lt;P&gt;        l_xmldata         TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_elem            TYPE REF TO if_ixml_element,&lt;/P&gt;&lt;P&gt;        l_root_node       TYPE REF TO if_ixml_node,&lt;/P&gt;&lt;P&gt;        l_next_node       TYPE REF TO if_ixml_node,&lt;/P&gt;&lt;P&gt;        l_name            TYPE string,&lt;/P&gt;&lt;P&gt;        l_iterator        TYPE REF TO if_ixml_node_iterator.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_xml_table       TYPE TABLE OF t_xml_line,&lt;/P&gt;&lt;P&gt;        l_xml_line        TYPE t_xml_line,&lt;/P&gt;&lt;P&gt;        l_xml_table_size  TYPE i.&lt;/P&gt;&lt;P&gt;  DATA: l_filename        TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PARAMETERS: pa_file TYPE char1024 DEFAULT 'c:\temp\orders_dtd.xml'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of XML file: Only DTD included in xml document is supported&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PARAMETERS: pa_val  TYPE char1 AS CHECKBOX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Creating the main iXML factory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_ixml = cl_ixml=&amp;gt;create( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Creating a stream factory&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_streamfactory = l_ixml-&amp;gt;create_stream_factory( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM get_xml_table CHANGING l_xml_table_size l_xml_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  wrap the table containing the file into a stream&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_istream = l_streamfactory-&amp;gt;create_istream_itable( table = l_xml_table&lt;/P&gt;&lt;P&gt;                                                    size  = l_xml_table_size ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Creating a document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_document = l_ixml-&amp;gt;create_document( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Create a Parser&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    l_parser = l_ixml-&amp;gt;create_parser( stream_factory = l_streamfactory&lt;/P&gt;&lt;P&gt;                                      istream        = l_istream&lt;/P&gt;&lt;P&gt;                                      document       = l_document ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Validate a document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF pa_val EQ 'X'.&lt;/P&gt;&lt;P&gt;      l_parser-&amp;gt;set_validating( mode = if_ixml_parser=&amp;gt;co_validate ).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 15:56:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053382#M1502290</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T15:56:04Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053383#M1502291</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   Parse the stream&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_parser-&amp;gt;parse( ) NE 0.&lt;/P&gt;&lt;P&gt;      IF l_parser-&amp;gt;num_errors( ) NE 0.&lt;/P&gt;&lt;P&gt;        DATA: parseerror TYPE REF TO if_ixml_parse_error,&lt;/P&gt;&lt;P&gt;              str        TYPE string,&lt;/P&gt;&lt;P&gt;              i          TYPE i,&lt;/P&gt;&lt;P&gt;              count      TYPE i,&lt;/P&gt;&lt;P&gt;              index      TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        count = l_parser-&amp;gt;num_errors( ).&lt;/P&gt;&lt;P&gt;        WRITE: count, ' parse errors have occured:'.&lt;/P&gt;&lt;P&gt;        index = 0.&lt;/P&gt;&lt;P&gt;        WHILE index &amp;lt; count.&lt;/P&gt;&lt;P&gt;          parseerror = l_parser-&amp;gt;get_error( index = index ).&lt;/P&gt;&lt;P&gt;          i = parseerror-&amp;gt;get_line( ).&lt;/P&gt;&lt;P&gt;          WRITE: 'line: ', i.&lt;/P&gt;&lt;P&gt;          i = parseerror-&amp;gt;get_column( ).&lt;/P&gt;&lt;P&gt;          WRITE: 'column: ', i.&lt;/P&gt;&lt;P&gt;          str = parseerror-&amp;gt;get_reason( ).&lt;/P&gt;&lt;P&gt;          WRITE: str.&lt;/P&gt;&lt;P&gt;          index = index + 1.&lt;/P&gt;&lt;P&gt;        ENDWHILE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Process the document&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_parser-&amp;gt;is_dom_generating( ) EQ 'X'.&lt;/P&gt;&lt;P&gt;      PERFORM process_dom USING l_document.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_xml_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORM get_xml_table CHANGING l_xml_table_size TYPE i&lt;/P&gt;&lt;P&gt;                              l_xml_table      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Local variable declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA: l_len      TYPE i,&lt;/P&gt;&lt;P&gt;          l_len2     TYPE i,&lt;/P&gt;&lt;P&gt;          l_tab      TYPE tsfixml,&lt;/P&gt;&lt;P&gt;          l_content  TYPE string,&lt;/P&gt;&lt;P&gt;          l_str1     TYPE string,&lt;/P&gt;&lt;P&gt;          c_conv     TYPE REF TO cl_abap_conv_in_ce,&lt;/P&gt;&lt;P&gt;          l_itab     TYPE TABLE OF string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    l_filename = pa_file.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  upload a file from the client's workstation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD cl_gui_frontend_services=&amp;gt;gui_upload&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        filename   = l_filename&lt;/P&gt;&lt;P&gt;        filetype   = 'BIN'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        filelength = l_xml_table_size&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        data_tab   = l_xml_table&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        OTHERS     = 19.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Writing the XML document to the screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR l_str1.&lt;/P&gt;&lt;P&gt;    LOOP AT l_xml_table INTO l_xml_line.&lt;/P&gt;&lt;P&gt;      c_conv = cl_abap_conv_in_ce=&amp;gt;create( input = l_xml_line-data replacement = space  ).&lt;/P&gt;&lt;P&gt;      c_conv-&amp;gt;read( IMPORTING data = l_content len = l_len ).&lt;/P&gt;&lt;P&gt;      CONCATENATE l_str1 l_content INTO l_str1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    l_str1 = l_str1+0(l_xml_table_size).&lt;/P&gt;&lt;P&gt;    SPLIT l_str1 AT cl_abap_char_utilities=&amp;gt;cr_lf INTO TABLE l_itab.&lt;/P&gt;&lt;P&gt;    WRITE: /.&lt;/P&gt;&lt;P&gt;    WRITE: /' XML File'.&lt;/P&gt;&lt;P&gt;    WRITE: /.&lt;/P&gt;&lt;P&gt;    LOOP AT l_itab INTO l_str1.&lt;/P&gt;&lt;P&gt;      REPLACE ALL OCCURRENCES OF cl_abap_char_utilities=&amp;gt;horizontal_tab IN&lt;/P&gt;&lt;P&gt;        l_str1 WITH space.&lt;/P&gt;&lt;P&gt;      WRITE: / l_str1.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE: /.&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "get_xml_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  process_dom&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORM process_dom USING document TYPE REF TO if_ixml_document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: node      TYPE REF TO if_ixml_node,&lt;/P&gt;&lt;P&gt;          iterator  TYPE REF TO if_ixml_node_iterator,&lt;/P&gt;&lt;P&gt;          nodemap   TYPE REF TO if_ixml_named_node_map,&lt;/P&gt;&lt;P&gt;          attr      TYPE REF TO if_ixml_node,&lt;/P&gt;&lt;P&gt;          name      TYPE string,&lt;/P&gt;&lt;P&gt;          prefix    TYPE string,&lt;/P&gt;&lt;P&gt;          value     TYPE string,&lt;/P&gt;&lt;P&gt;          indent    TYPE i,&lt;/P&gt;&lt;P&gt;          count     TYPE i,&lt;/P&gt;&lt;P&gt;          index     TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    node ?= document.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHECK NOT node IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;    WRITE: /.&lt;/P&gt;&lt;P&gt;    WRITE: /' DOM-TREE'.&lt;/P&gt;&lt;P&gt;    WRITE: /.&lt;/P&gt;&lt;P&gt;    IF node IS INITIAL. EXIT. ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create a node iterator&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    iterator  = node-&amp;gt;create_iterator( ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  get current node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    node = iterator-&amp;gt;get_next( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 15:57:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053383#M1502291</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T15:57:49Z</dc:date>
    </item>
    <item>
      <title>Re: XML parse</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053384#M1502292</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   loop over all nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHILE NOT node IS INITIAL.&lt;/P&gt;&lt;P&gt;      indent = node-&amp;gt;get_height( ) * 2.&lt;/P&gt;&lt;P&gt;      indent = indent + 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CASE node-&amp;gt;get_type( ).&lt;/P&gt;&lt;P&gt;        WHEN if_ixml_node=&amp;gt;co_node_element.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        element node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          name    = node-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;          nodemap = node-&amp;gt;get_attributes( ).&lt;/P&gt;&lt;P&gt;          WRITE: / 'ELEMENT  :'.&lt;/P&gt;&lt;P&gt;          WRITE: AT indent name COLOR COL_POSITIVE INVERSE.&lt;/P&gt;&lt;P&gt;          IF NOT nodemap IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            count = nodemap-&amp;gt;get_length( ).&lt;/P&gt;&lt;P&gt;            DO count TIMES.&lt;/P&gt;&lt;P&gt;              index  = sy-index - 1.&lt;/P&gt;&lt;P&gt;              attr   = nodemap-&amp;gt;get_item( index ).&lt;/P&gt;&lt;P&gt;              name   = attr-&amp;gt;get_name( ).&lt;/P&gt;&lt;P&gt;              prefix = attr-&amp;gt;get_namespace_prefix( ).&lt;/P&gt;&lt;P&gt;              value  = attr-&amp;gt;get_value( ).&lt;/P&gt;&lt;P&gt;              WRITE: / 'ATTRIBUTE:'.&lt;/P&gt;&lt;P&gt;              WRITE: AT indent name  COLOR COL_HEADING INVERSE, '=',&lt;/P&gt;&lt;P&gt;                               value COLOR COL_TOTAL   INVERSE.&lt;/P&gt;&lt;P&gt;            ENDDO.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        WHEN if_ixml_node=&amp;gt;co_node_text OR&lt;/P&gt;&lt;P&gt;             if_ixml_node=&amp;gt;co_node_cdata_section.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        text node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          value  = node-&amp;gt;get_value( ).&lt;/P&gt;&lt;P&gt;          WRITE: / 'VALUE     :'.&lt;/P&gt;&lt;P&gt;          WRITE: AT indent value COLOR COL_GROUP INVERSE.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    advance to next node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      node = iterator-&amp;gt;get_next( ).&lt;/P&gt;&lt;P&gt;    ENDWHILE.&lt;/P&gt;&lt;P&gt;  ENDFORM.                    "process_dom&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can upload and can see the magic , I belive this I got from some one I dont remember exactly But thanks for them&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jul 2010 15:58:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/xml-parse/m-p/7053384#M1502292</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-07-08T15:58:51Z</dc:date>
    </item>
  </channel>
</rss>

