1 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
在 Java 中遇到了一個(gè)名為 Jsoup 的庫,它取消了我的一些文本的大寫并刪除了不應(yīng)該的結(jié)束標(biāo)簽。我至少可以嘗試另外兩個(gè) Java DOM 實(shí)現(xiàn),但我想我必須完全遠(yuǎn)離 DOM 實(shí)現(xiàn),我開始在這里看到一種模式 =]。當(dāng)程序員無法實(shí)現(xiàn)符合規(guī)范的基本文本解析時(shí),就會(huì)出現(xiàn)根本性錯(cuò)誤 - 說到這一點(diǎn),Jsoup 不會(huì)生成十六進(jìn)制代碼......只是說
簡單的解決方案是文件操作(Java) - 完全避免這個(gè)問題并保持簡單愚蠢:
File htmlTemplateFile = new File(testfilepath);
htmlString = FileUtils.readFileToString(htmlTemplateFile);
header = FileUtils.readFileToString(new File(headerfilepath));
Pattern pattern = Pattern.compile("<body(.*)>");
Matcher matcher = pattern.matcher(htmlString);
String match = null;
if (matcher.find())
match = matcher.group();
else {
System.out.println("no body in file: " + htmlFile);
continue;
}
htmlString = htmlString.replaceFirst(pattern.toString(), match + header);
FileUtils.writeStringToFile(htmlTemplateFile, htmlString);
- 1 回答
- 0 關(guān)注
- 112 瀏覽
添加回答
舉報(bào)