如何使用jsoup提取html标记外部的文本?
我有以下HTML代码:如何使用jsoup提取html标记外部的文本?,html,jsoup,Html,Jsoup,我有以下HTML代码: Data <div class="alg"></div> <div class="alg"></div> Pepsi 791 <div class="alg"></div> <div class="alg"></div> Coke 700
Data
<div class="alg"></div>
<div class="alg"></div>
Pepsi
791
<div class="alg"></div>
<div class="alg"></div>
Coke
700
<div class="gap"></div>
<div class="gap"></div>
但是上面的代码总是打印“”空字符串。试试这个:
Document doc = Jsoup.parse(url, 30000);
for( Element element : doc.select(".gap") ) { // Select all the div tags
Node next = element.nextSibling();
StringBuffer sb = new StringBuffer();
while (next instanceof TextNode) {
sb.append(((TextNode)next).text());
next = next.nextSibling();
}
System.out.println(sb.toString()); // Print the text of the TextNode
}
我在我的mac电脑上做了一个测试,看起来你的代码工作正常。您加载了什么HTML文件?@ThanhTRANCONG我从服务器下载了HTML文件并将其传递给jsoup。jsoup的不同版本会发生这种情况吗?我的是1.8.3,你的是什么?我的是1.9.2,我也在我的mac电脑上试过,我能调试一下吗?你能给我发送下载html文件的链接吗?
Document doc = Jsoup.parse(url, 30000);
for( Element element : doc.select(".gap") ) { // Select all the div tags
Node next = element.nextSibling();
StringBuffer sb = new StringBuffer();
while (next instanceof TextNode) {
sb.append(((TextNode)next).text());
next = next.nextSibling();
}
System.out.println(sb.toString()); // Print the text of the TextNode
}