转载: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 &lt; 1000 then</message>

下面是五个在XML文档中预定义好的实体:

     &lt; < 小于号 
         &gt; > 大于号 
         &amp; & 和 
         &apos; ' 单引号 
         &quot; " 双引号

实体必须以符号"&"开头,以符号";"结尾。

注意: 只有"<" 字符和"&"字符对于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 转义特殊字符相关推荐

  1. markdown、html转义特殊字符代码大全

    markdown.html转义特殊字符代码大全 注意: 使用数字代码或英文代码需要在代码后面加一个英文的分号「;」 第二列转义符号为使用数字代码或英文代码后得的的符号 原符号 转义符号 数字代码 英文 ...

  2. php mysql n 转义,mysql转义字符_php mysql转义特殊字符函数

    摘要 腾兴网为您分享:php mysql转义特殊字符函数,中英翻译,小天才,完美root,听中国等软件知识,以及小苹果cf抽奖,宝贝,街兔电单车app,windows壁纸软件,自制表情包app,守卫剑 ...

  3. js 转义特殊字符到 html

    2019独角兽企业重金招聘Python工程师标准>>> <html> <head><meta charset="UTF-8"> ...

  4. java生成xml符号被转义_xml 转义特殊字符

    写了个request2XML的方法,每当数据中有'This text is also parsed XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了f ...

  5. XML文件特殊字符转换

    在XML配置中"<",">","&"等特殊字符是不能直接保存的,否则XML语法检查时就会报错,可以通过以下两种方式讲包含 ...

  6. Mybatis转义字符(xml转义写法)

    Mybatis中的xml中不能使用特殊字符,所以特殊字符需要转义 字符 转义 描述 < < 小于 <= <= 小于等于 > > 大于 >= >= 大于等 ...

  7. String spilt时转义特殊字符【转】

    在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果. 我们经常使用public String[] split(String regex)方法来拆分一 ...

  8. html前端如何转义特殊字符,html、javascript、url特殊字符的转义诠释及使用方法详解...

    html.javascript.url特殊字符转义在实际编程中都是有用到的,有的人对特殊字符转义的使用不是很清楚,下面就对html,javascript,url特殊字符的转义做一下说明和归纳. htm ...

  9. java xml转义方法以及中文字符的处理

    对于xml的转义最方便,最简单的方法就是直接使用apache的commons.lang jar包中的StringEscapeUtils的escapeXml方法.但该方法在commons lang 2. ...

最新文章

  1. ♥看二本学渣如何进腾讯 分享面试经验、职场感悟、硬核知识、大厂内推♥
  2. 完毕port(CompletionPort)具体解释 - 手把手教你玩转网络编程系列之三
  3. hdu4525 威威猫系列故事——吃鸡腿
  4. 成功解决Error: Cannot find module 'web3'
  5. 20个linux常用命令,Linux20个常用命令整理(基础)
  6. hdu 1286 找新朋友 欧拉函数模版题
  7. Python实现多行数据读入
  8. 【技术干货+限时活动】openstack原理及在华为云中的应用
  9. UNIX域套接字编程和socketpair 函数
  10. oracle多条数据合并成一条_建议将北京地铁13-B线和28号线合并成一条线
  11. Oracle学习总结(9)—— Oracle 常用的基本操作
  12. Web前端页面的浏览器兼容性测试心得(三)总结一些IE8兼容问题的解决方案
  13. HDU 5936 2016CCPC杭州 D: Difference(折半枚举)
  14. vscode 智能打印_vscode学习(一)之vscode开发中绝对让你惊艳的插件!!!(个人在用) 持续更新。。。。...
  15. 为什么html中图片显示不出来,网页图片显示不出来该怎么办?
  16. html产生圆点列表符号的列表,HTML 测验
  17. PRD 算法 Golang 实现
  18. doodoo.js配置教程 1
  19. 我对技术的态度是什么样的?
  20. android部分代码片段(例:判断设备为手机,获取mac地址,软键盘,唤醒屏幕等)

热门文章

  1. R语言EXCEL绘制瀑布图
  2. oracle修改表名和列名的多种方式
  3. Linux下查看文件夹或目录大小
  4. 《微SaaS创富周刊》第7期:Gmail插件创富 | 20+项目盘点、GMass月收20万的秘笈
  5. RepVGG论文详解
  6. RNN Seq2Seq
  7. bulter机器人_双十一来了,盘点全球最受欢迎的10大智能物流机器人
  8. 【二篇】如何系统地训练口才?
  9. 高通新平台,骁龙735处理器参数介绍
  10. 做一名开源社区扫地僧(转)