当前位置:  开发笔记 > Android > 正文

如何使用XSLT对XML的子元素进行排序

如何解决《如何使用XSLT对XML的子元素进行排序》经验,为你挑选了1个好方法。

我有一个输入XML文件,我需要将1:1复制到输出,除了一个包含需要排序的子项的子元素.



  
  
  
      
          3
          
          
      
      
          2
          
          
      
      
          1
          
          
      
  

我想要一个XSL转换,它将"contentitem"元素按顺序排列,按其"id"元素排序.必须逐字复制所有其他标记,包括嵌套标记.我已经尝试过使用xsl:copy,但要么我得到了双重内容,要么结果丢失了.



1> Dimitre Nova..:

Mark Gravell的解决方案几乎是正确的 - 有一个创建两个嵌套元素的小问题.所有提供答案的人都要注意:测试你的解决方案!

这是一个正确的解决方案.这种转变:


 
 
 
 
  
    
      
    
  
 
  
    
      
      
        
      
    
  

当应用于最初提供的XML文档时:


    
    
    
        
            3
            
            
        
        
            2
            
            
        
        
            1
            
            
        
    

产生想要的,正确的结果:


   
   
   
      
         1
         
         
      
      
         2
         
         
      
      
         3
         
         
      
   

请注意以下事项:

    使用标识规则无需更改即可复制所有节点.

    如何使用与contents元素匹配的特定模板覆盖标识模板

    使用该指令来呈现以特定顺序应用模板的结果,该结果可能与选择用于处理的节点的文档顺序不同.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有