2013-07-05 62 views
1

可以在任何主jsoup告訴我一些建議,以過濾HTML文本/字符串?我試過調用Document的text()。但是所有的標籤/元素都會被過濾。我的目標是過濾一些指定的標籤。Jsoup來自HTML過濾出一些標籤的文本

即:我HTML文本,如:

<div>hello<p>world</div>,<table><tr><td>xxx</td></tr> 

得到結果:

<div>hello<p>world</div>,xxx 

已過濾標籤。

+0

澄清:你想得到的HTML,但沒有一些標籤? – selig

+0

@selig是的,你是對的。並不是所有的標籤都應該被刪除,只是一些我想要的東西。 – TeeTracker

回答

0

我現在不能測試此權利,但我覺得你想寫通過樹步驟和打印基於條件的每個節點遞歸函數。以下是這可能是什麼樣子的例子,但我希望你將不得不修改以滿足您的需求更精確。

Document doc = JSoup.parse(page_text); 
recursive_print(doc.head()); 
recursive_print(doc.body()); 

... 

private static Set<String> ignore = new HashSet<String>(){{ 
    add("table"); 
    ... 
}}; 
public static void recursive_print(Element el){ 
    if(!ignore.contains(el.className())) 
    System.out.println(el.html()); 
    for(Element child : el.children()) 
    recursive_print(child); 
} 
+0

這就是我想要的。謝謝 – TeeTracker