欢迎来到天天文库
浏览记录
ID:57646306
大小:41.50 KB
页数:5页
时间:2020-08-30
《XML特殊字符处理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、xml中的特殊字符替换作者:Sky–=====================================/*Description:xml中的特殊字符替换ARGUMENT:p_number需要替换特殊字符的xml字符串RETURN:格式化处理后的字符串HISTORY:VesionDate(YYYY.MM.DD)Author1.002008.07.29RongjieZhang替换规则:空格 >>&&&"""‘'©(版权)©©®(注册)®®*××÷÷÷¥¥¥回车换行*/–====================================FUNCTION
2、XML_FORMAT(p_xmlINVARCHAR2)RETURNVARCHAR2ISBEGINRETURNREPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(p_xml,‘&’,‘&;’),‘’,‘>’),‘"’,‘"’),‘‘,‘ ’),””,‘'’);ENDXML_FORMAT;注意:由于需要,我只处理了常见的6种特殊字符.PS:不合法的XML字符必须被替换为相应的实体。如果在XML文档中使用类似"<"的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:3、ge>ifsalary<1000then为了避免出现这种情况,必须将字符"<"转换成实体,象下面这样:ifsalary<1000then下面是五个在XML文档中预定义好的实体:<< 小于号>> 大于号&&和''单引号""双引号实体必须以符号"&"开头,以符号";"结尾。注意:只有"<"字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。写个函数处理前进行替换,或者采集的时候就先处理掉这些特殊字符.>和<这类字符4、是XML标记字符,在XML中有特殊的含义。当在SQL查询(或XPath查询)中指定这些字符时,必须对它们进行适当的编码(也称为实体编码)。下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见XML1.0规范中的XML1.0规范。特殊字符特殊含义实体编码> 开始标记>< 结束标记<" 引号 "' 撇号 '& "&"符 &XML节点中不能包含这些特殊字符,“&”,“<”,“>”,不然解析时此X5、ML会报错,使用时需要对它转换下=====================================================下面是一个很简单的过滤特殊字符的函数: publicstringFilterSpecial(stringstr)//特殊字符过滤函数 { if(str=="")//如果字符串为空,直接返回。 { returnstr; } else { str=str.Replace("'",""); str=str.6、Replace("<",""); str=str.Replace(">",""); str=str.Replace("%",""); str=str.Replace("'delete",""); str=str.Replace("''",""); str=str.Replace("""",""); str=str.Replace(",",""); str=str.Replace(".",""); st7、r=str.Replace(">=",""); str=str.Replace("=<",""); str=str.Replace("-",""); str=str.Replace("_",""); str=str.Replace(";",""); str=str.Replace("8、9、",""); str=str.Replace("[",""); str=str.Replace("]",""); str10、=str.Replace
3、ge>ifsalary<1000then为了避免出现这种情况,必须将字符"<"转换成实体,象下面这样:ifsalary<1000then下面是五个在XML文档中预定义好的实体:<< 小于号>> 大于号&&和''单引号""双引号实体必须以符号"&"开头,以符号";"结尾。注意:只有"<"字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。写个函数处理前进行替换,或者采集的时候就先处理掉这些特殊字符.>和<这类字符
4、是XML标记字符,在XML中有特殊的含义。当在SQL查询(或XPath查询)中指定这些字符时,必须对它们进行适当的编码(也称为实体编码)。下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见XML1.0规范中的XML1.0规范。特殊字符特殊含义实体编码> 开始标记>< 结束标记<" 引号 "' 撇号 '& "&"符 &XML节点中不能包含这些特殊字符,“&”,“<”,“>”,不然解析时此X
5、ML会报错,使用时需要对它转换下=====================================================下面是一个很简单的过滤特殊字符的函数: publicstringFilterSpecial(stringstr)//特殊字符过滤函数 { if(str=="")//如果字符串为空,直接返回。 { returnstr; } else { str=str.Replace("'",""); str=str.
6、Replace("<",""); str=str.Replace(">",""); str=str.Replace("%",""); str=str.Replace("'delete",""); str=str.Replace("''",""); str=str.Replace("""",""); str=str.Replace(",",""); str=str.Replace(".",""); st
7、r=str.Replace(">=",""); str=str.Replace("=<",""); str=str.Replace("-",""); str=str.Replace("_",""); str=str.Replace(";",""); str=str.Replace("
8、
9、",""); str=str.Replace("[",""); str=str.Replace("]",""); str
10、=str.Replace
此文档下载收益归作者所有