將xml文件由格式化變為壓縮字符串
阿新 • • 發佈:2017-09-30
+= 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(">"); } } else if (flag) { ans.append(str.charAt(i)); }else { tmp += str.charAt(i); } } return ans.toString(); }
xml中的轉義表
< < 小於號
> > 大於號
& & 和
' ’ 單引號
" " 雙引號
將xml文件由格式化變為壓縮字符串