Java或XSLT映射适合此要求

2020-09-21 20:43发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们需要转换输...

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

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


专家们,

我们需要转换输入和输出有效负载,如下图所示,它应该解析有效负载,并且" <"应该替换为<" #62"应该替换为">"

如果您观察到整个xml有效负载包含 ServiceOrder 字符串,则该字符串后的字符集应替换为

请建议Java或XSLT映射适合此要求。

谢谢。

拉姆。

req.jpg (96.5 kB)
5条回答
Aaron 3364
2020-09-21 21:29

你好,拉姆!

公共类StringReplacer扩展AbstractTransformation {
 @Override
 公共无效的transform(TransformationInput in,TransformationOutput out)抛出StreamTransformationException {
 executeMapping(in.getInputPayload()。getInputStream(),out.getOutputPayload()。getOutputStream());
 }

 public void executeMapping(InputStream is,OutputStream os)引发StreamTransformationException {
 尝试{
 byte [] payloadBytes = getByteArrayFromInputStream(is);
 字符串有效负载字符串=新的字符串(payloadBytes," UTF-8");
 payloadString = payloadString.replaceAll(" <​​"," <")。replaceAll(">",">");
 os.write(payloadString.getBytes(" UTF-8"));
 }
 catch(例外e){
 抛出新的StreamTransformationException(e.getMessage());
 }
 }

 public byte [] getByteArrayFromInputStream(InputStream is)引发IOException {
 ByteArrayOutputStream缓冲区= new ByteArrayOutputStream();
 int nRead;
 字节[]数据=新字节[16384];
 而((nRead = is.read(data,0,data.length))!= -1)
   buffer.write(data,0,nRead);
 buffer.flush();
 is.close();
 返回buffer.toByteArray();
 }
 } 

编辑器会更改符号的表示形式,因此,在两个replaceAll()方法中,都应将源值" <"和"">"用作第一个参数。

关于,Evgeniy。

一周热门 更多>