XML中转义字符及CDATA的使用

1、XML中有时会用到一些特殊字符,因此在生成XML前,需要将特殊字符进行转义,具体转义如下图所示(我在&后面均加入)

待转义的字符 转义字符
< &lt;
> &gt;
& &amp;
&apos;
‘’ &quot;

2、但有时候,我们需要在XML中使用大量的特殊字符,若逐一转义会比较折腾,此时使用XML中的CDATA段将会过滤相关内容,xml解析器会过滤CDATA段中的内容。
1)语法。< ! [ CDATA [忽略检查的文本]]>
2)用法。
通常的做法:

<UserName>郑林</UserName>

CDATA用法。用了CDATA段,段中的内容会被忽略检查,无论是否包含敏感内容,都会被当成普通文本处理

<UserName><![CDATA[郑林]]></UserName>

再来一个例子

<content>
	<![ CDATA [
		<script language="javascript">
			function sayhello(){    alert("hello!");		}
		</script>
	] ] >  
</content>

3、总结
CDATA段的目的就是让xml解析器认为内容全部为普通文本,无需解析,这个有点类似C#中,在写SQL语句时用到的@,相当于默认全部为文本。例如:

            string sqlStr = @" select k.item_code, k.item_name_cn
                                  from drug_dict_data k
                                 where k.dict_type_id = :v_dict_type_id
                                   and k.audit_status = 4
                                   and k.is_inuse = 1 ";

MarkDown编辑器也会识别转义字符,会将&lt;识别为<。可以使用\来取消转义

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章