在<p>标签之间提取文本,jsoup

时间:2017-11-11 23:44:59

标签: java android html parsing jsoup

鉴于此HTML:

<html> 
   <head></head>
   <body>
      <p>
        "Text"
        <br>
        "Some more Text"
        <br> 
        "Even more text"
        </p>
  </body>
</html>

我正在尝试使用§Elementdescription= document.select(______)`获取<p>标签内的文本。我怎样才能得到这个文字?我能够用一个没有身体的页面来做,但我不知道如何通过身体标签。谢谢。

1 个答案:

答案 0 :(得分:0)

Yo可以使用选择器:p来提取所有<p>元素,并使用元素访问器:text()从每个<p>元素中读取文本。

以下是使用问题中提供的HTML的示例:

@Test
public void canGetTextFromAPElement() {
    String html = "<html> \n" +
            "   <head></head>\n" +
            "   <body>\n" +
            "      <p>\n" +
            "        \"Text\"\n" +
            "        <br>\n" +
            "        \"Some more Text\"\n" +
            "        <br> \n" +
            "        \"Even more text\"\n" +
            "        </p>\n" +
            "  </body>\n" +
            "</html>";

    Document doc = Jsoup.parse(html);

    Elements elements = doc.select("p");

    assertThat(elements.size(), is(1));
    assertThat(elements.get(0).text(), is("\"Text\" \"Some more Text\" \"Even more text\""));
}