XML數據一個最普通的問題就是數據的大小寫,在進行數據轉換時常常產生令人頭疼的麻煩。下面就是一個 解決的辦法。
假設你有一些數據要發送到另外一個系統,它也識別XML格式的數據,而且要求全部大寫,例子數據如下:
例子1:person.XML
net_lover
Xianhui Meng
孟憲會
假設你要轉換成如下的格式:
例子2:newperson.XML
NET_LOVER
XIANHUI MENG
孟憲會
解決這個轉換問題一般是用XPATH函數裡的translate(),例如:
轉換後結果如下:
ThIS IS a TeST
但是如何把全部的文字轉換成大寫呢?下面就是進行這樣處理的代碼:
先定義兩個變量:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
再進行轉換:
結果如下:
THIS IS A TEST
對剛才的問題,可以編寫XSL文件如下:
例子3: person.xsl
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
啟發
從上面的方法呢會想到什麼呢?對數據進行加密!對了,用這種方法可以實現XML數據的加密。
例子:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
K1aWXJBb2cRdeAMfQgL8yhij976klEFzmYSnIo4DpTZq5rNsUtC0uOPvVwGxH3
加密後結果如下:
8Snr6nr6k6NzrN
解密也很簡單,只要把兩個變量顛倒即可。
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
K1aWXJBb2cRdeAMfQgL8yhij976klEFzmYSnIo4DpTZq5rNsUtC0uOPvVwGxH3
|||