我想用Jsoup解析Html頁面。如何使用Jsoup從html頁面檢索代碼片段?
html.page
<html>
<head></head>
<body>
<div id="1">SomeText</div>
<script>(function(a, b)){var fjs = a.getElementsByTagNames(b)[0]; … }
</script>
<div class="class1">SomeText</div>
<div class="class2">SomeText</div>
<script>(function(c, d)){var fjs = c.getElementsByTagNames(d)[0]; … }
</script>
<div class="class3">SomeText</div>
<div class="class4">SomeText</div>
</body>
</html>
爲了獲取一些信息,我寫的代碼:
File input = new File(filePath);
PrintWriter writer = new PrintWriter(input, "UTF-8");
writer.write(document.getElementById("1").outerHtml() + "\n");
writer.write(document.getElementsByClass("class1").outerHtml() + "\n");
writer.write(document.getElementsByClass("class2").outerHtml() + "\n");
writer.flush();
writer.close();
文件的輸出內容是:
<div id="1">SomeText</div>
<div class="class1">SomeText</div>
<div class="class2">SomeText</div>
接收輸出文件內容的最佳方式是什麼?
<div id="1">SomeText</div>
<script>(function(a, b)){var fjs = a.getElementsByTagNames(b)[0]; … }
</script>
<div class="class1">SomeText</div>
<div class="class2">SomeText</div>
你的HTML是有點壞,因爲沒有開'
'標籤和'」'是不是與'''相同的字符,這意味着解析器將優化'id =「1」'爲'id =「」1「」'所以也許改變你的編輯器使用'''。你也可以解釋你想達到什麼嗎?從你的問題中,我懷疑你想在''標籤中獲得代碼,但我不確定。 – Pshemo回答你自己的問題太棒了!爲了使其符合SO的格式,請將回答問題的部分移到實際答案中。不需要改變_accepted_的答案。在這裏(甚至鼓勵)回答你自己的問題是完全可以接受的。 – JonasCz
感謝您的建議! – Dan