我在fiddle中有一张桌子。我需要查找与包含给定文本的行相关的数据。
例如,通过提供1707
,我需要获取包含1707
的表行中的所有数据。因此输出应如下所示。
2014年8月5日星期二1707 33 43 47 52图片文字
目前,我正在访问html页面上的数据,如下所示。
Document doc;
try {
doc = Jsoup
.connect("url here").timeout(300000).userAgent("Mozilla").get();
Element table = doc.select("table#customers").first();
if (table != null) {
Iterator<Element> iterator = table.select("td").iterator();
while (iterator.hasNext()) {
System.out.println("Day : " + iterator.next().text());
System.out.println("Date : " + iterator.next().text());
System.out.println("Draw : " + iterator.next().text());
System.out.println("No1 : " + iterator.next().text());
System.out.println("No2 : " + iterator.next().text());
System.out.println("No3 : " + iterator.next().text());
System.out.println("No4 : " + iterator.next().text());
System.out.println("Symbol : " + iterator.next().text());
System.out.println("Non : " + iterator.next().text());
}
} else {
System.out
.println("No results were found according to search criteria.");
}
} catch (IOException e) {
e.printStackTrace();
}
}
上面的代码返回表上的所有数据。但是我需要获取与给定文本相关的数据。
我怎么能做到这一点?
最佳答案
如jsoup documentation中所示,您可以使用伪选择器:contains(text)
:
table.select("tr:contains(1707) td")
您可以尝试here