知识大全 XML数据进行加密和大小写转换
Posted 知
篇首语:丈夫不报国,终为愚贱人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 XML数据进行加密和大小写转换相关的知识,希望对你有一定的参考价值。
XML数据进行加密和大小写转换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
XML数据一个最普通的问题就是数据的大小写 在进行数据转换时常常产生令人头疼的麻烦 下面就是一个 解决的办法 假设你有一些数据要发送到另外一个系统 它也识别XML格式的数据 而且要求全部大写 例子数据如下 例子 person xml <Person> <Name> <First>net_lover</First> <Last>Xianhui Meng</Last> <ChineseName>孟宪会</ChineseName> </Name> </Person> 假设你要转换成如下的格式 例子 newperson xml <PERSON> <NAME> <FIRST>NET_LOVER</FIRST> <LAST>XIANHUI MENG</LAST> <CHINESENAME>孟宪会</CHINESENAME> </NAME> </PERSON> 解决这个转换问题一般是用XPATH函数里的translate() 例如 <foo><xsl:value of select= translate( This is a test tis TIS ) /></foo> 转换后结果如下 <foo>ThIS IS a TeST</foo> 但是如何把全部的文字转换成大写呢?下面就是进行这样处理的代码 先定义两个变量 <xsl:variable name= uppercase >ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> <xsl:variable name= lowercase >abcdefghijklmnopqrstuvwxyz</xsl:variable> 再进行转换 <foo><xsl:value of select= translate( This is a test $lowercase $uppercase) /></foo> 结果如下 <foo>THIS IS A TEST</foo> 对刚才的问题 可以编写XSL文件如下 例子 : person xsl <?xml version= encoding= gb ?> <xsl:stylesheet xmlns:xsl= version= > <xsl:variable name= uppercase >ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> <xsl:variable name= lowercase >abcdefghijklmnopqrstuvwxyz</xsl:variable> <xsl:template match= / > <PERSON> <NAME> <FIRST><xsl:value of select= translate(/Person/Name/First $lowercase $uppercase) /></FIRST> <LAST><xsl:value of select= translate(/Person/Name/Last $lowercase $uppercase) /></LAST> </NAME> </PERSON> </xsl:template> </xsl:stylesheet> 启发 从上面的方法呢会想到什么呢?对数据进行加密!对了 用这种方法可以实现XML数据的加密 例子 <xsl:variable name= alphanumeric >ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz </xsl:variable> <xsl:variable name= encoded > K aWXJBb cRdeAMfQgL yhij klEFzmYSnIo DpTZq rNsUtC uOPvVwGxH </xsl:variable> <foo><xsl:value of select= translate( This is a test $alphanumeric $encoded) /></foo> 加密后结果如下 <foo> Snr nr k NzrN</foo> 解密也很简单 只要把两个变量颠倒即可 <?xml version= encoding= gb ?> <xsl:stylesheet xmlns:xsl= version= > <xsl:variable name= alphanumeric >ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz </xsl:variable> <xsl:variable name= encoded >K aWXJBb cRdeAMfQgL yhij klEFzmYSnIo DpTZq rNsUtC uOPvVwGxH </xsl:variable> <xsl:template match= / > <foo><xsl:value of select= translate( This is a test $alphanumeric $encoded) /></foo> ||| <foo><xsl:value of select= translate( YS S rF r $encoded $alphanumeric ) /></foo> </xsl:template> </xsl:stylesheet> cha138/Article/program/net/201311/13900相关参考