xml文件格式化后不能获取到值
在有些时候,我们要使用到xml文件,必须得将文件中的内容压缩成一行,才能读取到其中的值,一旦有换行符、制表符、空格之类的就读不到。所以只能在开发好以后,将代码压缩再执行,十分不方便。
尝试了几个替换符号的方法, 效果并没有特别好。突发奇想,xml文件都是特别标准的,以尖括号<>括起来的,一对一对的存在着,可以使用字符串的方式获取。尖括号内部的值,完全保留;尖括号外面的值,则使用trim()过滤到两侧的特殊符号。效果很好,代码如下:
1 private static String convertFromXml(String str){ 2 boolean flag = true; 3 StringBuffer ans = new StringBuffer(); 4 String tmp = ""; 5 for(int i=0;i<str.length();i++){ 6 if('<'==str.charAt(i)){ 7 tmp = tmp.trim(); 8 ans.append(tmp); 9 flag = true; 10 ans.append(str.charAt(i)); 11 }else if('>'==str.charAt(i)){ 12 flag = false; 13 ans.append(str.charAt(i)); 14 tmp = ""; 15 }else if(flag){ 16 ans.append(str.charAt(i)); 17 }else{ 18 tmp += str.charAt(i); 19 } 20 } 21 return ans.toString(); 22 }
把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~