2016-08-16 5 views
0

ライブラリJSOUPでhtmlテーブルをフィルタリングしたいと思います。 これは完全にフィルタリングされますが、テーブルの複製がいくつか作成されます。JSOUP複写HTMLテーブル

これは私の構文は次のとおりです。

  • doc1Document
  • contentは、HTML文書とStringです。
  • tabelletotalitabelletotaliで文書

doc1 = Jsoup.parseBodyFragment(content); 
tabelletotali = doc1.getElementsByTag("table"); 

の配列は、すべてのテーブルを行くが、冗長性を備えています。

何が間違っていますか?

+1

コンテンツの価値を教えてください –

+0

ネストしたテーブルはありますか? – Pshemo

+0

申し訳ありませんが私はコンテンツの価値を示すことはできません、会社の情報があります。しかし、私はネストされたテーブルがあることを伝えることができます。私はそれが問題だと思います、どうすれば解決できますか?私は傾けると私は手動でhtmlコードを変更したくない場合 –

答えて

1

現在使用しているメソッド - getElementsByTag() - は、指定されたタグ名を持つすべての要素を再帰的に検索して選択します。あなたにも唯一の親レベルのテーブルではなく、ネストされたテーブルを選択する必要がある場合は、>セレクタでselect()メソッドを使用します。

Document doc = Jsoup.parseBodyFragment(html); 
Elements e = doc.select("body > table"); 

これは、直接の親要素(例えば、身体から降りるだけ子要素を選択し、この例では、ネストした表は2回選択されません。

+0

ありがとう、私はその構文を知らなかった、私はそれを試して、それが動作します。再度ありがとう –

+0

それはあなたのために働いた場合、問題はありません、答えを受け入れることを忘れないでください! – ashatte