将节点添加到XML流中

2020-08-23 01:52发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要在xml顶部添加一个节点到现有的xml流中。

示例XML来源:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 <内容>
  test@gmail.com 
 
 

示例XML目的地:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 <元数据>
  182.235.32.00 
 
 <内容>
  test@gmail.com 
 
 

我认为我们应该使用if_ixml类,但是真诚的我不知道该怎么写。

希望您能帮助我:)

此致

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我需要在xml顶部添加一个节点到现有的xml流中。

示例XML来源:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 <内容>
  test@gmail.com 
 
 

示例XML目的地:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 <元数据>
  182.235.32.00 
 
 <内容>
  test@gmail.com 
 
 

我认为我们应该使用if_ixml类,但是真诚的我不知道该怎么写。

希望您能帮助我:)

此致

付费偷看设置
发送
3条回答
SAP浪
1楼 · 2020-08-23 02:54.采纳回答

使用iXML,来自:

 <?xml版本=" 1.0"编码=" UTF-8"?>
 <内容>
    test@gmail.com 
  

到(新的" IP"元素):

 <?xml version =" 1.0" encoding =" utf-8"?>
 <内容>
    182.235.32.00 
    test@gmail.com 
  

可以使用以下代码:

 DATA(lo_ixml)= cl_ixml => create()。
 DATA(lo_streamfactory)= lo_ixml-> create_stream_factory()。
 DATA(lo_document)= lo_ixml-> create_document()。

 DATA(lo_parser)= lo_ixml-> create_parser(
         stream_factory = lo_streamfactory
         istream = lo_streamfactory-> create_istream_string(
                              '<?xml version =" 1.0" encoding =" UTF-8"?>'
                           &&'<内容>'
                           &&' test@gmail.com '
                           &&'')
         document = lo_document)。
 lo_parser-> parse()。

 DATA(lo_element)= lo_document-> create_element(name ='IP')。
 lo_element-> set_value('182.235.32.00')。
 lo_document-> find_from_name(name ='Content')-> insert_child(
         new_child = lo_element
         ref_child = lo_document-> find_from_name(name ='Email'))。

 DATA(l_xstring)= VALUE xstring()。
 DATA(lo_ostream)= lo_streamfactory-> create_ostream_xstring(l_xstring)。
 DATA(lo_renderer)= lo_ixml-> create_renderer(
         ostream = lo_ostream
         document = lo_document)。
 lo_renderer-> render()。

 DATA(字符串)= cl_abap_codepage => convert_from(l_xstring)。
 ASSERT字符串=
         '<?xml version =" 1.0" encoding =" utf-8"?>'
      &&'<内容>'
      &&' 182.235.32.00 '
      &&' test@gmail.com '
      &&''。
zhangjiyang1323
2楼-- · 2020-08-23 02:47

您的" XML目标"无效,只能有一个唯一的根元素。 有效的XML示例:

 <?xml version =" 1.0" encoding =" UTF-8"?>
  
182.235.32.00 test@gmail.com
SAP浪
3楼-- · 2020-08-23 02:50

抱歉,XML格式不正确:)

非常感谢您的代码,非常感谢:)

一周热门 更多>