我有一个程序可以通过功能模块DISPLAY_XML_DOCUMENT
显示XML文档:
DATA(xml_document) = new cl_xml_document( ).
xml_document->parse_string( `<ROOT><city><name>Paris</name>` &&
`<country><name>France</name><iso>FRA</iso></country>` &&
`</city></ROOT>` ).
" Display the whole document
CALL FUNCTION 'DISPLAY_XML_DOCUMENT'
EXPORTING
xml_document = xml_document
EXCEPTIONS
OTHERS = 1.
" Extract the country name and ISO code
DATA(element) = CAST if_ixml_element(
xml_document->find_node( name = '/ROOT/city/country' ) ).
" Display the whole document
CALL FUNCTION 'DISPLAY_XML_DOCUMENT'
EXPORTING
xml_document = element
EXCEPTIONS
OTHERS = 1.
对功能模块DISPLAY_XML_DOCUMENT
的第一次调用将显示整个XML文档:
然后用element
初始化<country><name>France</name><iso>FRA</iso></country>
对象。类型为IF_IXML_ELEMENT
。
A,元素的显示出现运行时错误CX_SY_DYN_CALL_ILLEGAL_TYPE ,因为期望的对象类型为CL_XML_DOCUMENT_BASE
,而不是类型为IF_IXML_ELEMENT
的对象。
如何通过element
显示DISPLAY_XML_DOCUMENT
对象?