我從網頁獲取HTML並試圖從中檢索數據。使用Jsoup替換所有不可預知的組合HTML標記
我有我想用<h2>
替換的<h3><strong>title</strong><h3>
之類的HTML。 但是,有時我發現內容的內部意想不到的標籤,例如:
<h3><br/><strong>title</strong></h3>
如何刪除空的HTML標籤就像從一個字符串<p><br></p>
和<h3><br /><h3>
?
我從網頁獲取HTML並試圖從中檢索數據。使用Jsoup替換所有不可預知的組合HTML標記
我有我想用<h2>
替換的<h3><strong>title</strong><h3>
之類的HTML。 但是,有時我發現內容的內部意想不到的標籤,例如:
<h3><br/><strong>title</strong></h3>
如何刪除空的HTML標籤就像從一個字符串<p><br></p>
和<h3><br /><h3>
?
您可以隨時嘗試在元素上使用jsoup的.text()方法來獲取文本,然後將文本放入h3中。
要替換空元素,您可以使用CSS選擇器:empty
。在循環中這樣做,因爲包含空元素的元素不被視爲空,但會在下一次迭代中被刪除。
要使用<h2><strong>...</strong><h2>
更換<h3><strong>...</strong><h3>
標籤和刪除<h3>
標籤內的其他標籤,使用replaceWith
:
示例代碼
Document doc = Jsoup.connect("url").get();
// clean up empty elements
while(!doc.select(":empty").isEmpty()){
doc.select(":empty").remove();
}
//replace h3 with h2
doc.select("h3 > strong").forEach(strong -> {
strong.parent().replaceWith(new Element(Tag.valueOf("h2"), "").html("<strong>" + strong.text() + "</strong>"));
});
我試圖用我自己碼 – ramboeistblast
這真的不清楚你在問什麼 – ItamarG3