xml 转义特殊字符
转载:https://www.cnblogs.com/catgatp/p/6403326.html
写了个request2XML的方法,每当数据中有'<'、'&'符号时,封装的XML就无法解析。
发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析。
只有在CDATA部件之内的文本会被解析器忽略。
-----------------------------------------------------
解析数据 XML 解析器通常情况下会处理XML文档中的所有文本。
当XML元素被解析的时候,XML元素内部的文本也会被解析: <message>This text is also parsed</message> XML解析器这样做的原因是XML元素内部可能还包含了别的元素,
象下面的例子,
name元素内部包含了first和last两个元素:
<name><first>Bill</first><last>Gates</last></name>
解析器会认为上面的代码是这样的:
<name> <first>Bill</first> <last>Gates</last> </name>
-----------------------------------------------------
转义字符不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。
所以不应该象下面那样书写代码:
<message>if salary < 1000 then</message>
为了避免出现这种情况,必须将字符"<" 转换成实体,
象下面这样:
<message>if salary < 1000 then</message>
下面是五个在XML文档中预定义好的实体:
< < 小于号
> > 大于号
& & 和
' ' 单引号
" " 双引号
实体必须以符号"&"开头,以符号";"结尾。
注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。
剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
-----------------------------------------------------
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[" ,将很有可能出错哦。同样要注意在字符串"]]>"之间没有空格或者换行符
xml 转义特殊字符相关推荐
- markdown、html转义特殊字符代码大全
markdown.html转义特殊字符代码大全 注意: 使用数字代码或英文代码需要在代码后面加一个英文的分号「;」 第二列转义符号为使用数字代码或英文代码后得的的符号 原符号 转义符号 数字代码 英文 ...
- php mysql n 转义,mysql转义字符_php mysql转义特殊字符函数
摘要 腾兴网为您分享:php mysql转义特殊字符函数,中英翻译,小天才,完美root,听中国等软件知识,以及小苹果cf抽奖,宝贝,街兔电单车app,windows壁纸软件,自制表情包app,守卫剑 ...
- js 转义特殊字符到 html
2019独角兽企业重金招聘Python工程师标准>>> <html> <head><meta charset="UTF-8"> ...
- java生成xml符号被转义_xml 转义特殊字符
写了个request2XML的方法,每当数据中有'This text is also parsed XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了f ...
- XML文件特殊字符转换
在XML配置中"<",">","&"等特殊字符是不能直接保存的,否则XML语法检查时就会报错,可以通过以下两种方式讲包含 ...
- Mybatis转义字符(xml转义写法)
Mybatis中的xml中不能使用特殊字符,所以特殊字符需要转义 字符 转义 描述 < < 小于 <= <= 小于等于 > > 大于 >= >= 大于等 ...
- String spilt时转义特殊字符【转】
在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果. 我们经常使用public String[] split(String regex)方法来拆分一 ...
- html前端如何转义特殊字符,html、javascript、url特殊字符的转义诠释及使用方法详解...
html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. htm ...
- java xml转义方法以及中文字符的处理
对于xml的转义最方便,最简单的方法就是直接使用apache的commons.lang jar包中的StringEscapeUtils的escapeXml方法.但该方法在commons lang 2. ...
最新文章
- ♥看二本学渣如何进腾讯 分享面试经验、职场感悟、硬核知识、大厂内推♥
- 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
- hdu4525 威威猫系列故事——吃鸡腿
- 成功解决Error: Cannot find module 'web3'
- 20个linux常用命令,Linux20个常用命令整理(基础)
- hdu 1286 找新朋友 欧拉函数模版题
- Python实现多行数据读入
- 【技术干货+限时活动】openstack原理及在华为云中的应用
- UNIX域套接字编程和socketpair 函数
- oracle多条数据合并成一条_建议将北京地铁13-B线和28号线合并成一条线
- Oracle学习总结(9)—— Oracle 常用的基本操作
- Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案
- HDU 5936 2016CCPC杭州 D: Difference(折半枚举)
- vscode 智能打印_vscode学习(一)之vscode开发中绝对让你惊艳的插件!!!(个人在用) 持续更新。。。。...
- 为什么html中图片显示不出来,网页图片显示不出来该怎么办?
- html产生圆点列表符号的列表,HTML 测验
- PRD 算法 Golang 实现
- doodoo.js配置教程 1
- 我对技术的态度是什么样的?
- android部分代码片段(例:判断设备为手机,获取mac地址,软键盘,唤醒屏幕等)