【转】XML 特殊字符处理
from: http://gdutlzh.blog.163.com/blog/static/164746951201222934328455/
在XML文件中,如果内容包含一些特殊字符会导致XML文件无法解释。
(1). 可以对特殊字符直接进行转义
以下5个字符为需要进行转义的字符
| 字符 | 转义后 | 编码 |
| & | & | & |
| ' | ' | ' |
| " | " | " |
| > | > | > |
| < | < | < |
(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 特殊字符处理的更多相关文章
- XML特殊字符处理
XML共有5个特殊字符,分别为:&<>"' 如果XML文件中需要包含如上5个特殊字符,有两种方式: 1.将包含特殊字符的字符串放在<![CDATA[]]>中 ...
- XML 特殊字符处理和 CDATA
在处理XML数据时,特殊字符要特殊处理,不能和节点字符混淆. 所有 XML 文档中的文本均会被解析器解析. 只有 CDATA 区段(CDATA section)中的文本会被解析器忽略. PCDATA ...
- xml特殊字符处理 如&
写了个request2XML的方法,每当数据中有'<'.'&'符号时,封装的XML就无法解析.发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析 ...
- XML 特殊字符处理
在XML中,有一些符号作为XML 的标记符号,一些特定情况下,属性值必须带有这些特殊符号. 下面主要是讲解一些常用的特殊符号的处理 例一: 双引号的使用. 双引号作为XML 属性值的开始结束符号,因此 ...
- XML 特殊字符
XML转义字符 以下为XML标志符的数字和字符串转义符 " (" 或 ") ' (' 或 ') & (& 或 & ...
- XMl特殊字符转换参考
参考链接:https://blog.csdn.net/goon_star/article/details/49636505 处理SVG Text元素不能正确显示特殊字符 特殊符号 命名实体 十进制编码 ...
- android xml特殊字符
@ 对应 @ : 对应 : 对应 空格 对应 空格 ! 对应 ! " 对应 " # 对应 # $ 对应 $ % 对应 % & 对应 & ' 对应 ´ ( 对应 ...
- 处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]>
处理内容有&特殊字符thinkphp返回xml无法解析的问题<![CDATA[xxx]]> // xml 转义特殊字符 如&'" <![CDATA[&quo ...
- XML标签
SQL标签库提供了创建和操作XML文档的标签. 引入语法:<%@ taglib prefix="x" uri="http://java.sun.com/jsp/js ...
随机推荐
- [ 原创 ] Centos7.6安装Mysql5.7
https://blog.csdn.net/shj_php/article/details/86712408 CentOS7下安装MySQL5.7安装与配置(YUM) http://blog.csdn ...
- flask第九篇——url_for【2】
上一节说的是没有参数的url_for,如果没有参数,可以直接url_for('函数名')那如果我们构造的函数是: @app.route('/login/<page_id>/')def ...
- 使用time模块,转化时间格式
import time ''' 时间戳:表示1970年开始计算的偏移量.我们运用type(时间戳)是float类型 结构化时间:9个元素组成的数组 格式化时间字符串 ''' '''获取当前时间戳''' ...
- 【NOIP2018】【RP++!】【神大退役记+一丢丢回忆录】
emmm初赛都完了啊,还有20多天的样子退役选手又要++++++了 所以在这里先预祝各路dalao取得好成绩!! 手动艾特亲友$@Abyssful@阿澈说他也想好好学习@Ed\_Sheeran@歪瓜是 ...
- DragonBones的下载和安装
DragonBones也称龙骨,是一款骨骼动画制作软件.DragonBones Pro是由Flash的龙骨骨骼动画插件进化而来的,与传统逐帧动画相比,骨骼动画资源较小且动画效果比较好. DragonB ...
- weblogic10 部署 spring+cxf ,调用时报:cannot create a secure XmlInputFactory
weblogic10 部署 spring+cxf ,调用时报:cannot create a secure XmlInputFactory 一个cxf webservice项目部署到tomcat能 ...
- Android HttpURLConnection.connect找不到源 HttpURLConnection连接失败 HttpURLConnection.connect IO异常 解决办法
Android HttpURLConnection.connect找不到源 HttpURLConnection连接失败 HttpURLConnection.connect IO异常 解决办法 以下代 ...
- SQL Server 导出Excel有换行的解决方法
参考地址::https://vcoo.cc/blog/1234/ 从 SQL Server 查询结果中复制结果数据粘贴到 Excel 中存在这么个问题:如果字段内容中有换行符,那么粘贴到 Excel ...
- 在vi中搜索字符串,替换字符串
在vi中搜索一个字符串: 输入命令:"vi test.txt"用vi打开一个文本文件. 输入命令:"/spider"用ESC键进入命令模式,然后输入一个&quo ...
- java 通用取得 系统硬件信息及 jvm 信息的 jar 包 oshi-core
maven 引用 <dependency> <groupId>com.github.dblock</groupId> <artifactId>oshi- ...