预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

XMl文件中的左右尖括号转义字符 在项目测试阶段,测试人员会输入一些特殊字符,比如:<table>、<./或&lt;这样的字符时,页面就会出现错误,如果是导出,导出的Excel也会出现问题,或者直接输出的页面会把用户输入的&lt;、&gt;、&amp;及&nbsp;都转化成<、>、&及空格,原因是用java代码直接取的并没有对特殊字符做转义。 因为Html中的<,>,&有特殊含义,(前两个字符用于链接签,&用于转义),不能直接使用。使用这三个字符时,应使用它们的转义序列。 &的转义序列为&amp或&#38;<的转义序列为&lt;&#60;>的转义序列为&gt;&#62;前者为字符转义序列,后者为数字转义序列。例如&lt;font&gt;显示为<font>,若直接写为则被认为是一个链接签。需要说明的是:a.转义序列各字符间不能有空格;b.转义序列必须以“;”结束;c.单独的&不被认为是转义开始。d.区分大小写 另一个需要转义的字符是双引号””,它的转义序列为&quot;或&#34; 这里需要特殊注意的是一定要对&进行转义,有的朋友只对<、>甚至引号转义,但并没有对&进行转义,&是Html转义字符的开始,如果在XML文档中使用类似"<"的字符,那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以必须要对&进行转义。 解决方法是定义个工具类Tools。 /** *替换一个字符串中的某些指定字符 *@paramstrDataString原始字符串 *@paramregexString要替换的字符串 *@paramreplacementString替代字符串 *@returnString替换后的字符串 */ publicstaticStringreplaceString(StringstrData,Stringregex, Stringreplacement) { if(strData==null) { returnnull; } intindex; index=strData.indexOf(regex); StringstrNew=""; if(index>=0) { while(index>=0) { strNew+=strData.substring(0,index)+replacement; strData=strData.substring(index+regex.length()); index=strData.indexOf(regex); } strNew+=strData; returnstrNew; } returnstrData; } /** *替换字符串中特殊字符 */ publicstaticStringencodeString(StringstrData) { if(strData==null) { return""; } strData=replaceString(strData,"&","&amp;"); strData=replaceString(strData,"<","&lt;"); strData=replaceString(strData,">","&gt;"); strData=replaceString(strData,"'","&apos;"); strData=replaceString(strData,"\"","&quot;"); returnstrData; } /** *还原字符串中特殊字符 */ publicstaticStringdecodeString(StringstrData) { strData=replaceString(strData,"&lt;","<"); strData=replaceString(strData,"&gt;",">"); strData=replaceString(strData,"&apos;","'"); strData=replaceString(strData,"&quot;","\""); strData=replaceString(strData,"&amp;","&"); returnstrData; } 第一个函数replaceString转义单个字符,第二个函数encodeString为转义包括&、<、>、’和\这几个特殊字符,第三个函数decodeString是还原这几个特殊字符。 因此在需要转义的时候调用Tools.encodeString()就可以了。 需要说明的是导出Excel是比较特殊的,因为如果有<table>这样的内容,是Excel保留字的,会造成Excel表格的混乱,如果要是用这个工具类做转义的话,会出现显示出&lt;table&gt;这样的内容,它会认为这是个字符串,并且不太好再把这样