XML特殊字符转换

1. 可以对特殊字符直接进行转义

以下5个字符为需要进行转义的字符


 字符  转义后 编码 

 

字符 转义后 编码
& &; &
' '
" "
> > >
< < <

 

2. 将内容放至CDATA中

CDATA 以""标记结束

==============================================

以上两种方法可以解决大部分的问题,网上资料还提到另外一类特殊字符,将相关的文章转载一下

转载自:http://www.jzxue.com/Html/XML/122115365011021.html

XML文档中,一些特殊ASCII字符,显示会有问题,如音乐符号,即使包含在< ! [CDATA[ ] ]中也不行,提示javascript错误:文本内容中发现无效字符。
注:本文中的特殊字符主要是指音乐符号等ASCII码小于32的其中一些字符
2.参考文档
1)网址:http://www.pcdog.com/p/html/20041215/151220044979_1.htm
这篇文章与本文要解决的特殊字符不是一类问题,仅供参考
3.最终解决方案
1)在网上找到一张ASCII字符表,这个表是解决问题的关键,地址如下:
http://www.51ajax.com/demo/ascii/ascii.htm
ASCII 码大致可以分作三部分组成。   第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上,但能看到其效果(例如换行字符、归位字符)。
第二部分是由 20H 到 7FH 共 96 个,这 95 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。
第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。
2)具体方法
从第一部分的表中可以看到音乐符号的ASCII是14(十进制),产生问题的原因在于ASCII码小于32的符号有些在屏幕上显示时会有问题,解决的方法如下:
在提交入库前用Javascript将ASCII码小于32的字符用escape()函数编码,然后入库,如编码后将变为%0E,其它字符不变,这样在XML中显示不会出现问题,当用Javascript对XML进行解析时,再用unescape()函数对内容进行解码,这样会将%0E显示为。

 

参考:http://gdutlzh.blog.163.com/blog/static/164746951201222934328455/

你可能感兴趣的:(综合)