最近进行开发时候,前端发送到后端的数据,在发送xml报文的时候 当前端数据中包含 &,<,>,",'是个字符的时候 ,发送到后端的xml报文解析会出错。
后来了解到 这个字符在发送的时候需要转义,转义规则如下
和符号 & 变为 &
小于号 < 变为 <
大于号 > 变为 >
单引号 ' 变为 '
双引号 " 变为 "
实体必须以符号"&"开头,以符号";"结尾。 注意: 只有"<" 字符和"&"字符对于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[" ,将很有可能出错哦。同样要注意在字符串"]]>"之间没有空格或者换行符。