gpt4 book ai didi

java - 使用 Jsoup 非递归地提取文本

转载 作者:行者123 更新时间:2023-12-01 03:04:27 30 4
gpt4 key购买 nike

这是我试图运行的代码:

String html = "<a href=\"/name/zola-1\">ZOLA <span class=\"tiny\">(1)</span></a>";

Document doc = Jsoup.parse(html); //connect to the page
Element element = doc.getAllElements().first(); //recive the names elements

System.out.println(element.text()); //prints "ZOLA (1)"
System.out.println(element.ownText()); // prints nothing

我的目标是只提取“ZOLA”,没有子节点的文本,但是 ownText什么都不打印...
我该怎么做?

最佳答案

问题是doc.getAllElements().first()返回

<html>
<head></head>
<body>
<a href="/name/zola-1">ZOLA <span class="tiny">(1)</span></a>
</body>
</html>

当你期待
<a href="/name/zola-1">ZOLA <span class="tiny">(1)</span></a>

以下应该对您有用:
String html = "<a href=\"/name/zola-1\">ZOLA <span class=\"tiny\">(1)</span></a>";

Document doc = Jsoup.parse(html);
Elements links = doc.getElementsByTag("a");
System.out.println(links.get(0));
System.out.println(links.get(0).ownText());

输出:
<a href="/name/zola-1">ZOLA <span class="tiny">(1)</span></a>
ZOLA

关于java - 使用 Jsoup 非递归地提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59127160/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com