Skip to Content
0
Former Member
Mar 26, 2010 at 10:25 AM

Encoding XML in ISO-8859-1 from a unicode system

1059 Views

Hello

I want to generate an XML with an encoding ISO-8859-1. I'm on a unicode platform.

I've done the following program :

It works well with the line 'encoding UTF-16.

With the line encoding 'encoding ISO ...', I have special characters in the sting xml_string.

NB : The program works correctly on a non-unicode platform.

Can you help me ?

Thank you

REPORT .

DATA : xml_string TYPE string.

DATA : BEGIN OF l_id,

numero(10),

systeme TYPE gsval,

date TYPE d,

heure TYPE uzeit,

type(7),

nb_nid TYPE i,

END OF l_id.

DATA: ixml TYPE REF TO if_ixml,

streamfactory TYPE REF TO if_ixml_stream_factory,

encoding TYPE REF TO if_ixml_encoding,

ixml_ostream TYPE REF TO if_ixml_ostream.

START-OF-SELECTION.

l_id-date = sy-datum.

l_id-heure = sy-uzeit.

l_id-type = 'BATCH'.

ixml = cl_ixml=>create( ).

streamfactory = ixml->create_stream_factory( ).

ixml_ostream = streamfactory->create_ostream_cstring( xml_string ).

encoding = ixml->create_encoding( character_set = 'ISO-8859-1' byte_order = 0 ).

  • encoding = ixml->create_encoding( character_set = 'UTF-16' byte_order = 0 ).

ixml_ostream->set_encoding( encoding = encoding ).

CALL TRANSFORMATION ztest_xml

SOURCE id = l_id

RESULT XML ixml_ostream.

BREAK-POINT.