後,我想提取使用jsoup每個標籤後文本的文本。有沒有辦法直接選擇它,或者我必須在整個事情上執行.substring?Jsoup選擇標籤
<div>
<a href="#"> I don't want this text </a>
**I want to retrieve this text**
</div>
後,我想提取使用jsoup每個標籤後文本的文本。有沒有辦法直接選擇它,或者我必須在整個事情上執行.substring?Jsoup選擇標籤
<div>
<a href="#"> I don't want this text </a>
**I want to retrieve this text**
</div>
public static void main(String... args) throws IOException {
Document document = Jsoup.parse("<div>"
+ "<a href=\"#\"> I don't want this text </a>"
+ "**I want to retrieve this text**" + "</div>");
Element a = document.select("a").first();
Node node = a.nextSibling();
System.out.println(node.toString());
}
輸出
**I want to retrieve this text**
當然可以。
<div>
第一的HTML,然後使用.html()
<a>
元素選擇它的HTML,並把它的HTML<a>
元素的HTML的長度我認爲上面的答案缺乏普遍性,儘管提供了一個解決方向。
nextSibling()
是unuseble而HTML結構改變。
當我提到Jsoup API時,我找到了一個名爲textNodes()
的方法,它可以從這個元素中獲取文本節點列表。
public static String getTextAfterTag(Element ele) {
String text = "";
for(TextNode node: ele.textNodes()) {
text += node.text();
}
return text;
}
希望能提供幫助。
謝謝。正是我需要的。 – Mintz 2013-04-25 16:12:06
非常好,謝謝! – Dax 2014-09-13 07:16:00