Jsoup如何查找同级中文本的顺序?
我希望结果是苹果:1,橘子:2,梨:3。点。。。表示编号和名称未知但在3列中相似的其他标记。有人能帮忙吗?谢谢Jsoup如何查找同级中文本的顺序?,jsoup,Jsoup,我希望结果是苹果:1,橘子:2,梨:3。点。。。表示编号和名称未知但在3列中相似的其他标记。有人能帮忙吗?谢谢 <tr> <td> <span> ..... <h>apple</h> ..... </span> </td> <td> <span>
<tr>
<td>
<span>
.....
<h>apple</h>
.....
</span>
</td>
<td>
<span>
.....
<h>orange</h>
.....
</span>
</td>
<td>
<span>
.....
<h>pear</h>
.....
</span>
</td>
</tr>
您可以在任何元素中调用getElementsByTag来获取给定类型元素的所有子元素。getElementsByTag将获取全部,然后您可以使用简单的for来迭代结果以获取顺序
请参见示例代码:
import org.jsoup.Jsoup;
import org.jsoup.nodes.*;
import org.jsoup.select.*;
public class JsoupHtmlSiblingsOrder {
public static void main(String[] args) {
String html = "<html><body><span>HELLO!</span><table id=\"myTable\"><tbody> " +
"<tr><td> <span> " +
" ..... " +
" <h>apple</h> " +
" ..... " +
" </span> " +
"</td><td><span> " +
" ..... " +
" <h>orange</h> " +
" ..... " +
" </span> " +
"</td><td><span> " +
" ..... " +
" <h>pear</h> " +
" ..... " +
" </span> " +
"</td></tr> " +
"</tbody></table></body></html> ";
Document doc = Jsoup.parse(html);
Element table = doc.getElementById("myTable");;
Elements hs = table.getElementsByTag("h");
for (int i = 0; i < hs.size(); i++) {
Element h = hs.get(i);
System.out.println(h.text()+":"+(i+1));
}
}
}
这就是我要找的。非常感谢。我试着投你的赞成票,但却被拒绝了声誉如果标签也是未知的,也就是说,文本周围的标签不是固定的,但它可以是h、span、div等标签中的任何一个,有没有一种简单的方法可以达到类似的结果。?谢谢。嘿,我刚刚路过,看到了你的评论。。。你还需要它吗?很抱歉,我不在家,回复太晚了。当然,请给我看看你有什么。谢谢
apple:1
orange:2
pear:3