首页 > 其他 > 详细

【转】XML 特殊字符处理

时间:2014-02-16 18:25:38      阅读:355      评论:0      收藏:0      [点我收藏+]

from: http://gdutlzh.blog.163.com/blog/static/164746951201222934328455/ 

1.

在XML文件中,如果内容包含一些特殊字符会导致XML文件无法解释。

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

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

 字符  转义后 编码 
 & & &#38 
 ‘ '  &#39 
 " "  &#34 
 > >  &#62 
 < &lt;  &#60 

(2). 将内容放至CDATA中

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显示为。 
我写了一个Javascript函数(只适用于少量数据),可以实现对ASCII码在32以下的字符进行编码。

 

【转】XML 特殊字符处理

原文:http://www.cnblogs.com/SummerRain/p/3551015.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!