返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1150|回复: 0

[转载] 【转载】XML文件转义介绍

[复制链接]
发表于 2025-2-19 09:34:14 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
XML文件转义介绍
转载作者:YiYang


在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突

方法一:使用xml 原生转义的方式进行转义


字符名称 sql符号 转义字符
大于号 > >
小于号 < <
不等于 <> <>
大于等于号 >= >=
小于等于号 <= <=
& &
单引号 ' '
双引号 " "



简单代码示例:#
sql语句#

select * from user where `age` <= 10


xml 语句#
<select id="getUser"  resultType="userInfo">
    select * from user
        where `age`  <= #{age}
</select>


写法注意#
转义字符 之前不能有空格,例如:& gt; 或者 &g t; 都是错误的
转义字符 必须以; 结尾
转义字符 是区分大小写的
单独出现的&不会被认为是转义的开始
转义字符 中是没有 = 所以 大于等于 在写的时候,=直接拼接在转义字符结尾的后面


大于号 > >
小于号 < <
不等于 <> <>
大于等于号 >= >=
小于等于号 <= <=
与 & &
单引号 ' '
双引号 " "
简单代码示例:#
sql语句#
select * from user where `age` <= 10
xml 语句#
<select id="getUser"  resultType="userInfo">
    select * from user
        where `age`  <= #{age}
</select>
写法注意#
转义字符 之前不能有空格,例如:& gt; 或者 &g t; 都是错误的
转义字符 必须以; 结尾
转义字符 是区分大小写的
单独出现的&不会被认为是转义的开始
转义字符 中是没有 = 所以 大于等于 在写的时候,=直接拼接在转义字符结尾的后面

注意【MarkDown】小知识#
以上转义符号在 【MarkDown】 中也同样试用会被转义,在【MarkDown】文档中想要保留展示这些转移符号,需要在转义符前面写上一个 '\',例如:\>


方法二:使用 <![CDATA[ 内容 ]]>#
在 xml 格式中,当遇到 <![CDATA[ ]]> 这种格式时,会把方块中的内容直接输出,不做任何的解析转义


字符名称 字符串符号 示例代码
大于号 > <![CDATA[ > ]]>
小于号 < <![CDATA[ < ]]>
不等于 <> <![CDATA[ <> ]]>
大于等于号 >= <![CDATA[ >= ]]>
小于等于号 <= <![CDATA[ <= ]]>

字符名称字符串符号示例代码
大于号 > <![CDATA[ > ]]>
小于号 < <![CDATA[ < ]]>
不等于 <> <![CDATA[ <> ]]>
大于等于号 >= <![CDATA[ >= ]]>
小于等于号 <= 字符名称sql符号转义字符
大于号 > >
小于号 < <
不等于 <> <>
大于等于号 >= >=
小于等于号 <= <=
与 & &
单引号 ' '
双引号 " "
简单代码示例:#
sql语句#
select * from user where `age` <= 10
xml 语句#
<select id="getUser"  resultType="userInfo">
    select * from user
        where `age`  <= #{age}
</select>
写法注意#
转义字符 之前不能有空格,例如:& gt; 或者 &g t; 都是错误的
转义字符 必须以; 结尾
转义字符 是区分大小写的
单独出现的&不会被认为是转义的开始
转义字符 中是没有 = 所以 大于等于 在写的时候,=直接拼接在转义字符结尾的后面
注意【MarkDown】小知识#
以上转义符号在 【MarkDown】 中也同样试用会被转义,在【MarkDown】文档中想要保留展示这些转移符号,需要在转义符前面写上一个 '\',例如:\>
方法二:使用 <![CDATA[ 内容 ]]>#
在 xml 格式中,当遇到 <![CDATA[ ]]> 这种格式时,会把方块中的内容直接输出,不做任何的解析转义
字符名称字符串符号示例代码
大于号 > <![CDATA[ > ]]>
小于号 < <![CDATA[ < ]]>
不等于 <> <![CDATA[ <> ]]>
大于等于号 >= <![CDATA[ >= ]]>
小于等于号 <= <![CDATA[ <= ]]>

简单代码示例:#

sql语句#
select * from user where `age` <= 10

xml 语句#
<select id="getUser"  resultType="userInfo">
    select * from user
        where `age`  <![CDATA[ <= ]]>  #{age}
</select>
<select id="getUser"  resultType="userInfo">
    select * from user
        <![CDATA[ where `age` <= #{age} ]]>
</select>



写法注意#
<![CDATA[ 内容 ]]> 中的内容 部分,不能再包含 <![CDATA[]]> ,也不能嵌套使用
<![CDATA[]]> 是一个整体,处理放置内容文本的部分之外,不能出现 空格 或者 换行

两种方法对比#
<![CDATA[]]> 比 转义符 来的繁琐
<![CDATA[]]> 表示xml解析器忽略解析,相对比速度会比较快
个人比较喜欢使用 <![CDATA[]]> ,因为我记不住那个转义的意思


游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表