編輯:這些文件發佈到我正在處理的Web服務器上,我現在沒有把它們全部放在眼前,只有一個「有代表性的樣本」。找到並替換包含html的大kml文件有效?
我有很大的kml文件(幅度80000行),可能更大,其中包含xml和html,我需要做的就是在xml的特定元素上找到替換。
即
<href>some_random_file_name<href>
我需要更換與 我一直在使用一些類似的嘗試了價值目前還值:
http://www.mkyong.com/java/how-to-modify-xml-file-in-java-dom-parser/
卻發現了html導致解析器出錯並且找不到我想要的元素。
現在我正在逐行遍歷文件並尋找我想要的元素,但這是非常慢的。我需要一個相對有效的方式來處理這個問題。
迭代代碼:
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了現在。如果這是至關重要的,我可以嘗試從它中抽出一些東西來爲互聯網消毒。我認爲它可能有一些專有的東西。
,你能否告訴我們迭代碼以及KML文件的樣本? – plalx
[Sed](https://en.wikipedia.org/wiki/Sed)可能更簡單快捷。 – ceving