XML中必须进行转义的字符
来源:互联网 发布:ubuntu输入法怎么用 编辑:程序博客网 时间:2024/05/16 17:30
最近写xml报文时,需要传递URL并且带多个参数,导致解析出现错误
编写XML代码经常遗漏的常识:
XML实体中不允许出现”&”,”<”,”>”等特殊字符,否则XML语法检查时将出错,如果编写的XML文件必须包含这些字符,则必须分别写成”&”,”<”,”>”再写入文件中。例如,如果在XML文档中使用类似”<” 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:
Java代码:
<age> age < 30 </age>
为了避免出现这种情况,必须将字符”<” 转换成实体,像下面这样:
Java代码:
<age> age < 30 </age>
在读取的时候,解析器会自动将其转换回”&”,”<”,”>”等特殊字符,正常来说,只有”<” 字符和”&”字符对于XML来说是严格禁止使用的。
需要注意的是:
a. 转义序列各字符间不能有空格;
b. 转义序列必须以”;”结束;
c. 单独的&不被认为是转义开始;
d. 区分大小写。
以下是XML中需要的转义字符:
&(逻辑与) &
<(小于) <
(大于) >
“(双引号) "
‘(单引号) '
发现了XML里的CDATA属性,问题解决的一种办法!在XML文档中的所有文本都会被解析器解析。 只有在CDATA部件之内的文本会被解析器忽略。 CDATA部件在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。一个 CDATA 部件以"<![CDATA[" 标记开始,以"]]>"标记结束: <script> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </script> 在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。 CDATA注意事项: CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。同样要注意在字符串"]]>"之间没有空格或者换行符
转载地址:http://jaenson.iteye.com/blog/945469
http://blog.csdn.net/lihualiu81/article/details/6231177
阅读全文
0 0
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- XML中必须进行转义的字符
- xml中字符的转义
- xml中字符的转义
- xml中转义字符
- xml文件中使用的转义字符
- XML文件中使用的转义字符
- android xml中转义字符的使用
- xml文件中使用的转义字符
- android xml中转义字符的使用
- xml中需要转义的字符
- XML的转义字符
- xml的转义字符
- 基于springboot ThreadPoolTaskScheduler类实现定时任务动态添加修改
- bzoj-3685 普通van Emde Boas树 权值线段树+快读!
- [leetcode] 第三周作业
- 纯css,div隐藏滚动条,保留鼠标滚动效果。
- 一秒搞定合并单元格编号
- XML中必须进行转义的字符
- LSTM学习笔记
- DB2函数
- DB2 -803等错误码对照
- @DeclareParents为某个类及其所有子类动态代理新增实现接口
- Linux下编译php与nginx进行通信
- TCP Keepalive Timer
- BZOJ1821:[JSOI2010]Group 部落划分 Group
- 安装Angular-Cli以及失败原因解决(Angular4.0)