使用XSLT根据条件从XML删除节点

2020-09-12 07:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我有一个看起来像下面的X...

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

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


你好

我有一个看起来像下面的XML

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
    <数据行>
       <行>
           User1 
          
              1000 
              EUR 
          
       
       <行>
           User2 
          <段02>
              11 
             <区域> AA 
          
       
       <行>
           User3 
       
       <行>
           User4 
       
       <行>
           User5 
          
              100 
              EUR 
          
          <段02>
              11 
             <区域> AA 
          
       
    
  

要求是删除所有没有Segment01或Segment02实例的行节点。 因此,根据上面的示例,预期输出需要为

 <?xml version =" 1.0" encoding =" UTF-8"?>
 
    <数据行>
       <行>
           User1 
          
              1000 
              EUR 
          
       
       <行>
           User2 
          <段02>
              11 
             <区域> AA 
          
       
       <行>
           User5 
          
              100 
              EUR 
          
          <段02>
              11 
             <区域> AA 
          
       
    
  

有关如何使用XSLT映射实现此目标的任何意见?

我检查了这个示例,但是它谈到了从消息中删除空节点

https://archive.sap.com/discussions/thread/3243372

谢谢!

2条回答
DafaDDDa
2020-09-12 08:27

Hello Abhishek,

下面应该考虑到DataRow的出现是一个。

1) 具有以下条件的内容过滤器

/MT_SCN_TEST/DataRow/Row [Segment02或Segment01] 

2)添加内容修饰符以恢复原始结构。

 <  MT_SCN_TEST>
    <数据行>
       $ {in.body}
  
 
 

致谢

Sriprasad Shivaram Bhat

一周热门 更多>

相关问答