0

編集: これらのファイルは、私が取り組んでいる Web サーバーに投稿されています。現在、すべてを手元に置いているわけではありません。「代表的なサンプル」のみです。

大きな kml ファイル (マグニチュード 80000 行) があり、xml と、xml の特定の要素の置換を見つける必要がある html が含まれている可能性があります。

すなわち

<href>some_random_file_name<href>

そこにある値を、次のようなものを使用して試した値に置き換える必要があります。

http://www.mkyong.com/java/how-to-modify-xml-file-in-Java-dom-parser/

しかし、htmlが原因でパーサーがバグアウトし、必要な要素が見つからないことがわかりました。

現在、ファイルを 1 行ずつ反復処理して、必要な要素を探していますが、これは非常に遅いです。これを処理するための比較的効率的な方法が必要です。

反復コード:

            File kml = new File(kmlFile);
        FileReader reader = new FileReader(kml);
        BufferedReader br = new BufferedReader(reader);
        String txt="";
        String line = null;
        while((line = br.readLine())!= null) {
            if(line.contains("href")) {
                String tmp = line.replace("<href>","");
                tmp = tmp.replace("</href>","");
                tmp = tmp.replaceAll("\t", "");
                tmp = tmp.replaceAll("images/", "");
                line = "<href>"+namesToIds.get(tmp)+"</href>";
            }
            txt+=line;
        }

        br.close();
        FileWriter writer = new FileWriter(kml);
        BufferedWriter bw = new BufferedWriter(writer);
        bw.write(txt);
        bw.flush();
        bw.close();

今すぐkmlをアップできるとは思いません。それが重要な場合は、インターネット用にサニタイズするために、そこからたくさんのものを引き出してみることができます. その中に独自のものが含まれている可能性があると思います。

4

1 に答える 1