当前位置:  开发笔记 > 编程语言 > 正文

如何使用XSLT将字符串转换为大写或小写?

如何解决《如何使用XSLT将字符串转换为大写或小写?》经验,为你挑选了3个好方法。



1> Jon W..:

在XSLT 1.0中,upper-case()lower-case()函数不可用.如果您使用1.0样式表,则常见的案例转换方法是translate():






  


这是完整的ANSI表格:翻译(%s,'ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸŽŠŒ','abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìîïðñòóôõöøùúûüýþÿžšœ')
有Unicode版本吗?这个解决方案不适用于有趣的角色......

2> Anton Gogole..:

XSLT 2.0具有upper-case()lower-case()功能.在XSLT 1.0的情况下,您可以使用translate():




3> Vladislav..:

.NET XSLT实现允许在样式表中编写自定义托管函数.对于小写(),它可以是:




  

  
    
  

  
  
    
  

假设,这可能很慢,但仍然可以接受.

不要忘记启用嵌入式脚本支持转换:

// Create the XsltSettings object with script enabled.
XsltSettings xsltSettings = new XsltSettings(false, true);

XslCompiledTransform xslt = new XslCompiledTransform();

// Load stylesheet
xslt.Load(xsltPath, xsltSettings, new XmlUrlResolver());


此解决方案适用于任何字符,甚至是奇怪的Unicode字符.这对我很有用,但我将方法体简化为`return(stringValue ?? string.Empty).ToLower();`.谢谢@Vladislav,我从来不知道你能做到这一点!
推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有