Java映射从有效负载中删除xsi:nil ='true'

2020-09-11 03:55发布

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

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


大家好,

我是PI的新手,需要删除字符xsi:nil ='true'。

我试图为此使用图形映射和XSLT映射。 但是,这两种方法需要首先验证XML文件的有效性。

下面是xml结构,有人可以帮忙吗?

在此先感谢

Br,

Nero。

 


      POL33F2060 


     用户
 ID ZZJ12FJ81没有获得策略31444的授权


   
 


   
 


          ZZJFJ814 


       
  314635 


   
 


 

 

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

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


大家好,

我是PI的新手,需要删除字符xsi:nil ='true'。

我试图为此使用图形映射和XSLT映射。 但是,这两种方法需要首先验证XML文件的有效性。

下面是xml结构,有人可以帮忙吗?

在此先感谢

Br,

Nero。

 


      POL33F2060 


     用户
 ID ZZJ12FJ81没有获得策略31444的授权


   
 


   
 


          ZZJFJ814 


       
  314635 


   
 


 

 
付费偷看设置
发送
3条回答
能不能别闹
1楼 · 2020-09-11 04:22.采纳回答

嗨,Nero!

使用Java映射将输入有效内容读取为文本,并将" xsi:nil"替换为空字符串。

关于Evgeniy。

compass1988
2楼-- · 2020-09-11 04:28
公共无效transform(TransformationInput TransformationInput,TransformationOutput transformOutput)引发StreamTransformationException {
          尝试{
              InputStream inputstream = TransformationInput.getInputPayload()。getInputStream();
              OutputStream outputstream = TransformationOutput.getOutputPayload()。getOutputStream();
             //a)将输入内容复制到字符串
              byte [] b =新的byte [inputstream.available()];
              inputstream.read(b);
              字符串inputContent =新的String(b);
            
              inputContent = inputContent.replaceAll(" <​​?xml version = \" 1.0 \" encoding = \" UTF-8 \"?>","");
          
              outputstream.write(inputContent.getBytes());
          } catch(Exception exception){
              getTrace()。addDebugMessage(exception.getMessage());
              抛出新的StreamTransformationException(exception.toString());
          }
      }
 
悻福寶寶
3楼-- · 2020-09-11 04:23

嗨,Nero,

为什么要删除它? 您可以请求源系统所有者提供XSD并处理xsi:nil。

如果要从元素中删除xsi:nil,可以使用布尔函数" isNil"和" if" 传递空常量的语句-

感谢

Sugata

一周热门 更多>