我需要读取一个xml文件并将每个标记的id更改为id + tagname

时间:2016-03-06 06:07:18

标签: java xml

我需要读取文件,在不关闭阅读器的情况下查找并替换同一文件中的某些文本。

建议任何简单的方法......

Iam读取文件如下。如何将其写入同一文件。

private static void readFile(String path) throws IOException {
        makeFolderStructure(path);
        for (String xmlNameString : xmlFileNamesList) {
            FileReader xmlFile = new FileReader(
                    path + "\\xml\\" + xmlNameString + ".xml");
            BufferedReader br = new BufferedReader(xmlFile);
            try {
                String line = br.readLine();
                while (line != null) {
                    if (line.contains("<") && line.indexOf(" ") != -1) {
                        String tagName = line.substring(line.indexOf("<") + 1,
                                line.indexOf(" "));
                        if (line.indexOf("id") != -1) {
                            Pattern p = Pattern.compile("\"([^\"]*)\"");
                            Matcher m = p.matcher(line);
                            while (m.find()) {
                                String tagId = (m.group(1));
                                System.out.println(tagId+"_"+tagName);
                            }
                        }
                    }
                    line = br.readLine();
                }
            } finally {
                br.close();
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

如果您喜欢阅读:请查看https://docs.oracle.com/cd/B28359_01/appdev.111/b28394/adx_j_parser.htm

如果你没有:

有很多XML解析器

我强烈建议你检查一下。其中大多数都非常容易使用,查看每个文档的文档,并决定使用哪一个。您尝试使用上述代码进行的操作是重新发明轮子,看看上面提到的API并专注于编写新代码。