Hello,
you can look at the coding example
data: event type ref to if_ixml_event,
event_sub type i
lp_dom type ref to if_ixml_document,
pstreamfac TYPE REF TO if_ixml_stream_factory,
pistream TYPE REF TO if_ixml_istream,
.
create the factory for streams
pstreamfac = g_ixml->create_stream_factory( ).
create the input stream:
pistream = pstreamfac->create_istream_cstring( string = xml ).
lp_dom = g_ixml->create_document( ).
create the iXML parser:
parser = g_ixml->create_parser(
stream_factory = pstreamfac
istream = pistream
document = lp_dom ).
let the parser know which events I am interested in
event_sub = if_ixml_event=>co_event_element_pre2 +
if_ixml_event=>co_event_element_post.
parser->set_event_subscription( events = event_sub ).
do.
event = parser->parse_event( ).
if event is initial.
exit. ' either end reached or error (check below)
endif.
data: str type string.
case event->get_type( ).
when if_ixml_event~co_event_element_pre2.
str = event->get_name( ). write: '<' str '>'.
when if_ixml_event~co_event_text_post.
str = event->get_value( ). write: str.
...
endcase.
enddo.
always check for errors:
if parser->num_errors( ) ne 0.
...
endif.
Regards,
Marc
Add comment