xml 需要转义
写了个request2XML的方法,每当数据中有'<'、'&'符号时,封装的XML就无法解析。发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析。 只有在CDATA部件之内的文本会被解析器忽略。----------------------------------------------------- 解析数据 XML 解析器通常情况下会处理XML文档中的所有文本。 当XML元素被解析的时候,XML元素内部的文本也会被解析: This text is also parsed XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了first和last两个元素: BillGates 解析器会认为上面的代码是这样的: Bill Gates ----------------------------------------------------- 转义字符不合法的XML字符必须被替换为相应的实体。 如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码: if salary < 1000 then 为了避免出现这种情况,必须将字符"<" 转换成实体,象下面这样: if salary < 1000 then 下面是五个在XML文档中预定义好的实体: < < 小于号 > > 大于号 & & 和 ' ' 单引号 " " 双引号 实体必须以符号"&"开头,以符号";"结尾。 注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。----------------------------------------------------- CDATA部件在CDATA内部的所有内容都会被解析器忽略。如果文本包含了很多的"<"字符和"&"字符——就象程序代码一样,那么最好把他们都放到CDATA部件中。一个 CDATA 部件以"
在前面的例子中,所有在CDATA部件之间的文本都会被解析器忽略。 CDATA注意事项: CDATA部件之间不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,将很有可能出错哦。同样要注意在字符串"]]>"之间没有空格或者换行符。
转自:http://blog.csdn.net/lihualiu81/archive/2011/03/08/6231177.aspx
Approval Setting时特殊字符的问题:
如果Approver_Role输入了“<br>”,那么在申请表单时什么出错,因为在组合XML字符串时遇到了<。需要转义。
ServiceForFlowER.cs
approvalXML += "<Approver>"
+ "<Approver_ID>" + GetEmpID(approverTable.Rows[i][entityApprover.Approver.PhysicalFieldName].ToString()) + "</Approver_ID>"
+ "<Sequence_No>" + approverTable.Rows[i][entityApprover.ApprovalOrder.PhysicalFieldName].ToString() + "</Sequence_No>"
+ "<Approver_Role>" + approverTable.Rows[i][entityApprover.Role.PhysicalFieldName].ToString() + "</Approver_Role>"
+ "</Approver>";
PS:
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
<message>if salary < 1000 then</message> |
为了避免出现这种情况,必须将字符"<" 转换成实体,象下面这样:
<message>if salary < 1000 then</message> |
下面是五个在XML文档中预定义好的实体:
< |
< |
小于号 |
> |
> |
大于号 |
& |
& |
和 |
' |
' |
单引号 |
" |
" |
双引号 |
实体必须以符号"&"开头,以符号";"结尾。 注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。
转载于:https://www.cnblogs.com/yelongsan/p/7640946.html
xml 需要转义相关推荐
- Mybatis 大于、小于、等于在XML中转义
mybatis 中 SQL 写在mapper.xml文件中,而xml解析 < .>.<=.>= 时会出错,这时应该使用转义写法. 方式一 < <= > > ...
- java xml特殊字符转义_Java中将xml文件转化为json遇到特殊字符会报错!
前言: 我们在项目开发中,有时候调用别人提供的接口,接收到的数据是xml,这时候为了方便后续开发中的使用,需要解析xml并把数据转化成json,今天这篇文章就讲解下如何把xml转化成json,并在这个 ...
- java xml转义方法以及中文字符的处理
对于xml的转义最方便,最简单的方法就是直接使用apache的commons.lang jar包中的StringEscapeUtils的escapeXml方法.但该方法在commons lang 2. ...
- android将字符串中间几个字用*代替,【Android技巧之相见恨晚系列】-TextView/string.xml冷门小技巧:占位转换符%1$s、%1$d等的用法...
技巧比较冷门,我今天用到才了解到,以前都没接触过...然而却发现这是很早就已经有的技巧... 引子: 如果一段文字需要多段TextView拼接而成,比如:"我叫XXX,今年XX岁了,身高X. ...
- Java转义工具类StringEscapeUtils的学习笔记
Java转义工具类StringEscapeUtils的学习笔记 前言 在java.commons.lang3 的包中有许多方便好用的工具类,类似于处理字符串的StringUtils,处理日期的Da ...
- java中xml的组装与解析(十分钟学会)
xml的组装与解析(十分钟学会) 一.xml的解析 话不多说直接上代码 1.引入pom依赖 // 解析xml <dependency><groupId>org.jsoup< ...
- 【MyBatis】MyBatis对Log4J的支持、MyBatis实现新增、删除、修改、查询
准备:数据库数据 people表 people表数据 eclipse项目结构 一.注解 注解存在的意义:简化xml 文件的开发. 注解在servlet 3.0 规范之后大力推广的. 注解前面的@XXX ...
- 通过简单的Spring方面摆脱null参数
什么是世界上最令人讨厌的,同时也是最受欢迎的例外? 我敢打赌这是NullPointerException. NullPointerException可以表示任何东西,从简单的" ups,我认 ...
- parameterType 属性、typeAliases 别名
五 parameterType 属性 在 XXXMapper.xml 中等标签的 parameterType 可以 控制参数类型 SqlSession 的 selectList()和 selectOn ...
最新文章
- 李嘉骐:03 PyTorch模块与基础实战
- log4j与commons-logging slf4j的关系
- gulp几个常见问题及解决方案
- easyui datagrid 每行数据添加 按钮
- 与老外交谈的常用句子
- VTK:图片之CombineImages
- 学习笔记(47):Python实战编程-pack布局
- C#使用SQLite数据库的代码示例
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- 正则表达式中/i,/g,/ig,/gi,/m的区别和含义
- linux cron 服务,Linux定时任务Crontab详解(推荐)
- unity5 人皮渲染 Skin Shading
- 【UVA10256】The Great Divide(凸包相离判定)
- 大学计算机基础流媒体,大学计算机基础经典课件.ppt
- 基于51单片机的铂电阻PT100温度计proteus仿真
- TODA EMS(设备管理系统)简介
- 怎么选择触摸液晶广告机?
- virtualBox上Ubuntu的网络设置(万能方法)
- 【数据结构】栈的实现(C语言)
- CV深度学习项目调试开发过程中报错记录【持续更新】