on 07-12-2004 9:41 AM
Hi all ,
Currently i am using DOM Based Parsing to parse XML in my ABAP program. i am planning to change the code by using Event based parsing which is recommended for perfomance when we parse large xml document
Any one have the Example program for event based parsing the xml .pls help me in this.
Thanks in Advance
Ram
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
104 | |
12 | |
11 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.