Jsoup:从锚标记中提取innertext

时间:2015-02-23 08:24:36

标签: java html html-parsing jsoup

这是我的问题。我有一个HTML内容:                         的innerText             我需要提取“innerText”。在Jsoup中尝试这个时,我发现当由Jsoup解析时,innertext会超出anchor标记。

这是我的代码

Document doc=Jsoup.parse("<div>  <a href="#"> innerText  </a> </div>");
System.out.println(doc.html());

输出:

<html>
 <head></head>
 <body>
  <div >
   <a href="#"></a>innerText
  </div>
 </body>
</html>

为什么“innerText”移动到锚标记之外?

1 个答案:

答案 0 :(得分:1)

您可以通过调用元素上的text()方法来访问该文本。

Document doc = Jsoup.parse("<div>  <a href=\"#\"> innerText  </a> </div>");
System.out.println(doc.html());
Elements rows = doc.getElementsByTag("a");
for (Element element : rows) {
    System.out.println("element = " + element.text());
}

顺便说一句。使用您发布的代码(和JSoup 1.8.1)生成以下输出

<html>
    <head></head>
    <body>
        <div> 
            <a href="#"> innerText </a> 
        </div>
    </body>
</html>