CSV到XML转换器,包含标题和项目级数据

2020-09-15 02:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个需要将CSV转换为带有标...

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

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


我有一个需要将CSV转换为带有标题和订单项级别数据的XML的要求。 下面是平面文件格式;

标题,名称,日期,总计

项目,A,日期,项目编号,位置,值

项目,B,日期,项目编号,位置,值

商品,C,日期,商品编号,位置,值

"标题"和"项目"是记录类型指示符。"标题"应始终为第一行,并且仅出现一次。

尝试构建XML概要文件和架构时遇到错误。 看起来字段编号标题(4)与项目(20+)的差异也引起了问题


所需的输出低于

 

 <标题>
 <名称>
 <日期>
 <总计>
 

 <项目>
 
 <日期>
 <位置>
 <值>
 

 <项目>
 
 <日期>
 <位置>
 <值>
 

 等等....
  

任何帮助将不胜感激。

5条回答
My梦
2020-09-15 03:22

你好加百利,

使用以下代码,考虑到您正在处理管道分隔文件,它将对您有用。

导入com.sap.gateway.ip.core.customdev.util.Message;
 导入java.util.HashMap;
 导入groovy.xml。*;
 def消息processData(消息消息){

     def body = message.getBody(String.class);
     def header_data = body.substring(0,body.indexOf('\ n'));
     header_data = header_data.replace('\ r','');
     header_data = header_data.replace('\ n','');
     header_data = header_data.replace('Header |','');
     String []值= header_data.split(" \\ |");
     def writer =新的StringWriter()
     def xml =新的MarkupBuilder(writer)
     xml.header {
     名称{mkp.yield(values [0])}
     日期{mkp.yield(values [1])}
     总计{mkp.yield(values [2])}
     }
     message.setHeader(" P_Header",writer.toString());
       
     body = body.substring(body.indexOf('\ n')+ 1);
     body = body.replace('Item |','');
     message.setBody(body);
     返回消息;
 }
 

此致

Sriprasad Shivaram Bhat

一周热门 更多>