Jsoup - Printing element.data()什么都不打印

时间:2016-02-29 17:34:29

标签: java eclipse css-selectors html-parsing jsoup

所以我正在尝试在<div>文档中的某个HTML元素内打印文本。

出于某种原因,当我调用data()方法时,我得到一个空的控制台。

public class Program 
{
    public static void main(String[] args) 
    {
        System.out.println("Program starts:");
        try 
        {

            Document document2 = Jsoup.connect("http://www.azlyrics.com/lyrics/eminem/mynameis.html").get();
            Element element3 = document2.select("div.lyricsh").first();

            System.out.println(element3.data());
        } 
        catch (IOException e)
        {
            e.printStackTrace();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    } // End of main method
} // End of Program class

我将选择器放在此HTML文档http://www.azlyrics.com/lyrics/eminem/mynameis.html中。它在150线上。

我的代码出了什么问题?感谢。

1 个答案:

答案 0 :(得分:1)

尝试System.out.println(element3.text());

data()方法适用于dataNodes,例如如果你想获得<script>标签的内部。

text()将获取元素中所有textNodes的(合并)文本。如果您只想要附加到相关元素的文本,则可以使用ownText()