編集: これらのファイルは、私が取り組んでいる 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をアップできるとは思いません。それが重要な場合は、インターネット用にサニタイズするために、そこからたくさんのものを引き出してみることができます. その中に独自のものが含まれている可能性があると思います。