WEB开发网: XML数据一个最普通的问题就是数据的大小写,在进行数据转换时常常产生令人头疼的麻烦。下面就是一个 解决的办法。 假设你有一些数据要发送到另外一个系统,它也识别XML格式的数据,而且要求全部大写,例
赞助商链接
中资源
>> 最新文章
>> 赞助商
>> 热门文章
WEB开发网文章阅读

XML数据进行加密和大小写转换

作者:未知 文章来源:WEB开发者 更新时间:2008-3-4 15:12:27
    xml(标准化越来越近了)数据一个最普通的问题就是数据的大小写,在进行数据转换时常常产生令人头疼的麻烦。下面就是一个 解决的办法。
  
  假设你有一些数据要发送到另外一个系统,它也识别xml(标准化越来越近了)格式的数据,而且要求全部大写,例子数据如下:
  
  例子1:person.xml(标准化越来越近了)
  
  <Person>
   <Name>
   <First>net_lover</First>
   <Last>Xianhui Meng</Last>
   <ChineseName>孟宪会</ChineseName>
   </Name>
  </Person>
  假设你要转换成如下的格式:
  
  例子2: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文件如下:
  
  例子3: person.xsl
  
  <?xml(标准化越来越近了) version="1.0" encoding="gb2312"?>
  <xsl:stylesheet xml(标准化越来越近了)ns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <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">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz012345678
百度搜索中共有相关主题
[阅读:次] [返回上一页] [打 印]
  • 相关文章
  • 本类热门