阅读:896回复:0
【6.0后端平台】- dm文件中特殊符号问题在XML文件中,<、>、&、" 和 ' 等特殊字符需要被转义,因为它们在XML中有特定的含义(例如,< 用于定义元素的开始,& 用于实体引用等)。如果你直接在XML文本内容中使用这些字符,解析器会抛出错误。 异常信息如图: 异常符号对应代码: 关于特殊符号有两种解决方案: 1. CDATA DATA 指的是不应由 XML 解析器进行解析的文本数据,在 XML 元素中,“<” 和 “&” 是非法的。“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。 · CDATA 部分中的所有内容都会被解析器忽略。 · CDATA 部分由 “<![CDATA[” 开始,由 ”]]>” 结束。 如:<property><![CDATA["&&&&&&<<<<<<<"]]></property> 这样就会被解析器忽略&&&&&&<<<<<<<,不会发生报错 代码示例: 对应代码如下: <database id="select" resultMap="java.util.HashMap" description="查询测试"> <![CDATA[ select * from demo_vacate where 1 = 1 #if ($P.name and $P.name!='') and name like %:name% #end #if ( $P.timeend and $P.timeend!='' ) and timeend < :timeend #end ]]> </database> 2. 其它方法:特殊字符转义(本项目无效) 以下是这些特殊字符的转义序列: · < 替换为 < · > 替换为 > · & 替换为 & · " 替换为 " · ' 在属性值中可以直接使用,但在属性之外使用时建议也转义为 ' 或 '(尽管不是所有XML解析器都支持') [段博煜于2024-06-27 07:55编辑了帖子]
|
|