自己写一个函数,如下:
public String replace(String parentStr,String ch,String rep) { 
int i = parentStr.indexOf(ch); 
StringBuffer sb = new StringBuffer(); 
if (i == -1) 
return parentStr; 
sb.append(parentStr.substring(0,i) + rep); 
if (i+ch.length() < parentStr.length()) 
sb.append(replace(parentStr.substring(i+ch.length(),parentStr.length()),ch,rep)); 
return sb.toString(); 
}
应用如下:
String shiplnco = "<?xml version='1.0' encoding='GB2312'?><code><place id='01'><place_code>RTX</place_code><part_code>DP</part_code><part_name>门板L</part_name><repair_code>ST</repair_code></place></code>";
shiplnco=replace(shiplnco,"<","&lt;");
shiplnco=replace(shiplnco,">","&gt;");

解决方案 »

  1.   

    StrinBuffer sb = new StringBuffer();
    char[] c = shiplnco.toCharArray();
    for(i=0;i<c.length;i++)
    {
         if(c[i]=='<')
             sb.append("&lt;");
         else
             sb.append(c[i]);
         
    }
    return sb.toString();
      

  2.   

    先用StringTokenizer把shiplnco分割成字符串数组,在拼接起来,
    每次都加上&lt。
    数据库用的是Oracle吧,呵呵!
      

  3.   

    jdk1.4以上版本的String类添加了一个新方法,即string的字符串替换replaceAll(String ,String )
    如下即可:
    shiplnco=shiplnco.replaceAll("<","&lt;");
     
    (应该是这个方法,不过我没试验过……咱还在用jdk1.3.0)