1. 程式人生 > >將xml文件由格式化變為壓縮字符串

將xml文件由格式化變為壓縮字符串

+= return mxml clas boolean quotes lag false 轉義

  標簽:去除xml文件的空格

  有些時候解析xml文件,要求讀取的字符串必須是壓縮後的xml文件,不能有多余的空格。考慮到在<>標簽內包含空格和大於號的情況,寫了以下的轉換方式。

  傳入的是壓縮前的xml字符串,生成的是壓縮後的字符串

private String convertFromXml(String str) {
    boolean flag = true;
    boolean quotesFlag = true;
    StringBuffer ans = new StringBuffer();
    String tmp = "";
    
for (int i = 0; i < str.length(); i++) { if (‘"‘ == str.charAt(i)) { ans.append(str.charAt(i)); quotesFlag = !quotesFlag; } else if (‘<‘ == str.charAt(i)) { tmp = tmp.trim(); ans.append(tmp); flag = true; ans.append(str.charAt(i)); }
else if (‘>‘ == str.charAt(i)) { if(quotesFlag){ flag = false; ans.append(str.charAt(i)); tmp = ""; }else{ ans.append("&gt;"); } } else if (flag) { ans.append(str.charAt(i)); }
else { tmp += str.charAt(i); } } return ans.toString(); }

xml中的轉義表

&lt;   <   小於號
&gt;    >    大於號
&amp;    &    和
&apos;    ’    單引號
&quot;    "    雙引號

將xml文件由格式化變為壓縮字符串