XML 和HTML中的转义字符

XML 和HTML中的转移字符:

 

 

HTML<, >&等有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列,如下所示:

&amp; &#38;

&

&lt; &#60;

<

小于号

&gt; &#62;

>

大于号

&quot;

"

双引号

  

&nbsp;

 

空格

&copy;

©

版权符

&reg;

®

注册符

 

 

 

 

 

 

  前者为字符转义序列,后者为数字转义序列。数字转为字符对应的ASCII码值。例如 & lt; font &gt;显示为,<font>,若直接写为则被认为是一个链接签。

  需要说明的是:

  a. 转义序列各字符间不能有空格;

  b. 转义序列必须以""结束;

  c. 单独的&不被认为是转义开始;

  d.区分大小写。

  另一个需要转义的字符是引号,它的转义序列为"" """"

  HTML使用的字符集是ISO &859 Larin-1字符集,该字符集中有许多标准键盘上无法输入的字符。对这些特殊字符只能使用转义序列。

  XML转义字符

  不合法的XML字符必须被替换为相应的实体。

 

 

如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:

<message>if salary < 1000 then</message>

  为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:

<message>if salary &lt; 1000 then</message>

  下面是五个在XML文档中预定义好的实体:

&lt;

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

  实体必须以符号"&"开头,以符号";"结尾。

  注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

 

所以增加进行字符的替换
 function get_xml_str_f(p_str in varchar2) return varchar2 is
    v_tmp varchar2(500);
  begin
    -- 去除xml中的特殊字符
    v_tmp := replace(p_str, '&', '&#38;');
    v_tmp := replace(v_tmp, '<', '&#60;');
    v_tmp := replace(v_tmp, '>', '&#62;');
    v_tmp := replace(v_tmp, '"', '&quot;');
    v_tmp := replace(v_tmp, '''', '&apos;');
    v_tmp := replace(v_tmp, '©', '&copy;');
    v_tmp := replace(v_tmp, '®', '&reg;');
    return v_tmp;
    end;

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值