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

XSLT:如何在<xsl:copy>期间更改属性值?

如何解决《XSLT:如何在<xsl:copy>期间更改属性值?》经验,为你挑选了3个好方法。

我有一个XML文档,我想更改其中一个属性的值.

首先,我使用以下方法复制从输入到输出的所


  
    
  

现在我想"type"在任何名为的元素中更改属性的值"property".



1> Dimitre Nova..:

这个问题有一个经典的解决方案:使用和压倒一切的身份模板是最基本,最强大的XSLT设计模式之一:


    

    

    
        
            
        
    

    
        
            
        
    

应用于此XML文档时:


  value1
  value2

产生了想要的结果:


  value1
  value2


@dps你的问题与这个问题正交(无关).而你的问题是关于XPath的最常见问题.只需搜索"XPath默认命名空间",您就可以找到数百个好的答案和解释.

2> Welbog..:

测试一个简单的例子,工作正常:


  
    
  


  
    
  

编辑包括Tomalak的建议.


property/@ type更好,因为它更清晰易懂.可能更高效(几微秒:))

3> astonia..:

如果根元素中存在xmlns定义,则前两个答案将不起作用:



    

所有解决方案都不适用于上述xml.

可能的解决方案如下:

 



  
  
      
                some new value here
          
  

  
      
          
      
  

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