XML 中的 ﹤![CDATA[ ]]>

XML 中的 <![CDATA[ ]]>

因为这个是xml格式的,所以不允许出现类似“>”这样的字符
CDATA 全名:character data。所有 XML 文档中的文本均会被解析器解析除了 CDATA 区段(CDATA section)中的文本会被解析器忽略。

CDATA的形式如下: <![CDATA[文本内容]]>

CDATA的文本内容中不能出现字符串**“]]>”**。另外,CDATA不能嵌套

XML 实例: 在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记。 CDATA区域是由 <![CDATA[ 为开始标记,以 ]]> 为结束标记,注意CDATA为大写

QDom 解析 xml 中的CDATA

<Data>
   <![CDATA[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]]>
</Data>

例如:

 <select id="getRecords" resultType="com.domain.zft.contentmanage.model.vo.SysNoticeVO">
        SELECT
            csn.*,
            sc.`cityname` AS city_name,
        CASE

                WHEN (csn.effective_time <![CDATA[<=]]> now() AND csn.fail_time <![CDATA[>=]]> now()) THEN
                '生效'
                ELSE
                '失效'
            END status_name,
            su.`name` AS update_by_name
        FROM
            `conm_sys_notice` AS csn
            LEFT JOIN sys_organization AS so ON so.id = csn.city_id
            AND so.is_deleted = 0
            LEFT JOIN sys_city AS sc ON sc.id = so.relation_id
            AND sc.is_deleted = 0
            LEFT JOIN sys_user AS su ON su.id = csn.update_by
        <trim prefix="WHERE" prefixOverrides="AND |OR ">
            csn.is_deleted = 0
            <if test="cityId != null" >
                AND
                csn.city_id = #{cityId}
            </if>
            <if test="title != null and title != ''" >
                AND
                csn.title LIKE concat ('%', #{title}, '%')
            </if>
            <if test="status != null and status != ''" >
                /* 1 代表生效 */
                <if test="status == 1">
                    AND
                    (csn.effective_time <![CDATA[<=]]> now() AND csn.fail_time <![CDATA[>=]]> now())
                </if>
                /* 2 代表失效 */
                <if test="status == 2">
                    AND
                    (csn.effective_time <![CDATA[>=]]> now() OR csn.fail_time <![CDATA[<=]]> now())
                </if>
            </if>
        </trim>
        ORDER BY
        csn.id DESC
        <if test="offset != null and pageSize != null">
            limit #{offset}, #{pageSize}
        </if>
    </select>

第二种方法:

用了转义字符把>和<替换掉,然后就没有问题了。

XML转义字符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值