使用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条回答
lukcy2020
2020-09-12 08:31 .采纳回答

嗨Abhishek

这是XSLT解决方案:

 <?xml version =" 1.0" encoding =" UTF-8"?>
 

     

     
         
             <数据行>
                 
             
         
     
    
     
         
             
         
     

 
 

最后一个模板复制任何元素,并且xsl:apply-templates指令确保仅将其应用于具有Segment01或Segment02子元素的Row元素。

Morten

一周热门 更多>

相关问答