xml文件格式化后不能获取到值

时间:2024-04-30 07:33:17

  在有些时候,我们要使用到xml文件,必须得将文件中的内容压缩成一行,才能读取到其中的值,一旦有换行符、制表符、空格之类的就读不到。所以只能在开发好以后,将代码压缩再执行,十分不方便。

  尝试了几个替换符号的方法, 效果并没有特别好。突发奇想,xml文件都是特别标准的,以尖括号<>括起来的,一对一对的存在着,可以使用字符串的方式获取。尖括号内部的值,完全保留;尖括号外面的值,则使用trim()过滤到两侧的特殊符号。效果很好,代码如下:

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