2

jsoupのマスターは、htmlをテキスト/文字列にフィルタリングするためのいくつかの提案を教えてもらえますか? Document の text() を呼び出してみました。ただし、すべてのタグ/要素がフィルタリングされます。私の目的は、指定されたタグをフィルタリングすることです。

すなわち:私は次のようなHTMLテキストを持っています:

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

結果を得るには:

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

タグをフィルタリングしました。

4

2 に答える 2

1

今はこれをテストできませんが、ツリーをステップスルーし、条件に基づいて各ノードを出力する再帰関数を書きたいと思います。以下は、それがどのように見えるかの例ですが、ニーズに合わせてより正確に変更する必要があると思います.

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);
}
于 2013-07-07T19:15:54.530 に答える