欢迎访问我的个人网站==》 jiashubing.cn

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 }

 

posted @ 2017-06-22 17:00  贾树丙  阅读(361)  评论(0编辑  收藏  举报