Jsoup:从锚标记中提取内部文本

Jsoup: Extracting innertext from anchor tag

这是我的问题。我有一个 html 内容: 内文 我需要提取 "innerText"。在 Jsoup 中尝试此操作时,我发现当 Jsoup 解析时,内部文本超出了锚标记。

这是我的代码

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" 移到了锚标签之外?

您可以通过调用元素上的 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>