2016-09-22 8 views
2

を返します。は、HTMLテキストを抽出するためにJsoupを使用しますが、私はhtmlページからテキストを抽出するためにウェブクモを書くしようとしている、と私はHTMLを解析するためにJsoupを使用して、以下のような単純なコードの予期しない結果

test2.html

File file = new File("test2.html"); 
Document doc = Jsoup.parse(file, "utf-8"); 
System.out.println(doc.select("body").text()); 
は以下の通り:

enter image description here 出力は次のようになります。

hellothis is a simple testtest link <!-- test here --> <ul> <li>test1</li> <li>test2</li> <li>test3</li> <li>test4</li> <li>test5</li> <li>test6</li> </ul> Jsoupは、すべてのテキストとしてテキストエリア内のコードを取るようです。 すべてのHTMLタグを削除するにはどうしたらいいですか?

+0

行動はcorrent.Youは再びテキストエリア内のテキストを解析することが可能です。 – fairjm

答えて

0

fairjmが指摘しているように、これは予想される動作です。

あなたはjsoupでtextarea要素を検査した場合、あなたは見つける:

解決策

実際にテキストフィールドに意図的にあっても、タグを取り除きたい場合 - double parseコンテンツ(のサイドノート:もちろんダブルパースのコストパフォーマンスですが、それ以外の場合は、テキストは)を対象としている:

File file = new File("test2.html"); 
Document doc = Jsoup.parse(file, "utf-8"); 
System.out.println(Jsoup.parse(doc.select("body").text(), "UTF-8").text()); 

出力

hellothis is a simple testtest link test1 test2 test3 test4 test5 test6 
+0

ありがとう!できます! – Bill

関連する問題