当前位置: 首页 > 知识库问答 >
问题:

Jsoup选择标记后的文本

欧阳博超
2023-03-14

我想提取一个文本后,每个标签使用jSoup。有什么方法可以直接选择它,还是我必须执行。

<div>
<a href="#"> I don't want this text </a> 
**I want to retrieve this text**
</div>

共有3个答案

米丰
2023-03-14

我认为上述答案虽然提供了解决的方向,但缺乏普遍性。

html结构更改时,nextSibling()无法使用。

当我参考Jsoup api时,我发现了一个名为textNodes()的方法,它可以从这个元素中获取文本节点列表。

public static String getTextAfterTag(Element ele) {
  String text = "";
  for(TextNode node: ele.textNodes()) {
    text += node.text();
  }
  return text;
}

希望能有所帮助。

施利
2023-03-14

是的,你可以。

  1. 获取

赵兴朝
2023-03-14
public static void main(String... args) throws IOException {

    Document document = Jsoup.parse("<div>"
            + "<a href=\"#\"> I don't want this text </a>"
            + "**I want to retrieve this text**" + "</div>");

    Element a = document.select("a").first();

    Node node = a.nextSibling();
    System.out.println(node.toString());
}

输出

**I want to retrieve this text**
 类似资料:
  • 我想在每个文本之后使用jsoup提取一个文本。有没有办法选择它? 示例代码如下: 当它完成时,它会创建自动id示例id=123

  • 我最近尝试使用JSoup来解析HTML文档,我在JSoup上做了一遍turrorious,发现select-Method可能就是我要找的。 我试图完成的是找到html文档中拥有某个类的所有元素。为了测试这一点,我在amazon的网页上尝试了这一点(想法:找到所有有特定优惠的交易)。 因此,我检查了web页面,看看正在使用哪些类和ID,然后尝试将其集成到一个小代码段中。在本例中,我找到了follwi

  • 我想选择强标签内的文本,但不在其下的div。。。 有没有可能直接与jsoup合作? 我的选择尝试(不工作,选择强标签内的完整内容): HTML:

  • JSoup在这里。我有以下我试图解析的超文本标记语言: 不幸的是,它的格式有点不正确(在

  • 我需要找到以模式开头的html标记(例如,字母's'的模式将使用JSOUP匹配、等)。我尝试使用选择器,但它们似乎没有按照我需要的方式工作。我尝试了各种方法,如或。至少有可能那样做吗?

  • 主要内容:Jsoup 选择器 语法,Jsoup 选择器 说明,Jsoup 选择器 示例以下示例将展示在将 HTML 字符串解析为 Document 对象后选择器方法的使用。jsoup 支持类似于 CSS 选择器的选择器。 Jsoup 选择器 语法 document : 文档对象代表 HTML DOM。 Jsoup : 解析给定 HTML 字符串的主类。 html : HTML 字符串。 sampleDiv : 元素对象表示由 id“sampleDiv”标识的 html 节点元素。