2016-02-29 151 views
1

所以我试图在HTML文档中的某个<div>元素内打印文本。Jsoup - 打印element.data()不打印任何东西

由于某种原因,当我打电话给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 

我把这个选择文件英寸它在线150.

我的代码有什么问题?谢谢。

回答

1

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

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

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

+0

Bingo。队友的欢呼声。我会尽我所能接受答案。 – God

+0

你不能接受答案吗?你能解释一下你的困难吗? – luksch

+0

我需要等待15分钟的时间;)。 – God