用SAXParser得到标签值,修改后再写到另一个XML文件里不就行了吗?

解决方案 »

  1.   

    to UnAgain
    这种方法不好!!资料大了太不爽了。。to Kevinliuu你这样就会把内容也给变掉了
      

  2.   

    String dealStr(String str) {
    Pattern p = Pattern.compile("<[^>]*>");
    Matcher m = p.matcher(str);
    StringBuffer sb = new StringBuffer();
    while (m.find()) {
    m.appendReplacement(sb, m.group().replaceAll("_", "__"));
    }
    m.appendTail(sb);
    return (sb.toString());
    }//应用的地方
    System.out.println(dealStr("<date_ary_cnt>1980_5</date_ary_cnt>"));
      

  3.   

    import java.io.*;public class MarkReplacer {
        public static void main(String[] args) throws Exception{
            if (args.length != 2) {
                System.out.println("usage: java MarkReplacer <old file> <new file>");
                System.exit(0);
            }        String oldFile = args[0];
            String newFile = args[1];
            String replaceWith = "_" ;
            String replaceTo = "__";        BufferedReader reader =
                new BufferedReader(
                    new FileReader(oldFile), 512);
            BufferedWriter writer =
                new BufferedWriter(
                    new FileWriter(newFile), 512);        boolean rpStart = false;
            char[] c = new char[1];                while (reader.read(c, 0, 1) != -1) {
                switch (c[0]) {
                case '<':
                    rpStart = true;
                    break;
                case '_':
                    if (rpStart) {
                        writer.write(c, 0, 1);
                    }                
                    break;
                case '>':
                    rpStart = false;
                    break;
                }
                writer.write(c, 0, 1);
            }        writer.flush();
            writer.close();
            reader.close();
        }
    }
      

  4.   

    To:Dreamover
    你的方法很棒!!谢谢你To:UnAgain你的方法也不错,但是相对来说Dreamover的复杂了点!!谢谢!