我有一个这样的表格,我想要解析以获取row.id
的数据代码值以及表格的第二和第三列。
<table>
<tr class="id" data-code="100">
<td></td>
<td>18</td>
<td class="name">John</td>
<tr/>
<tr class="id" data-code="200">
<td></td>
<td>21</td>
<td class="name">Mark</td>
<tr/>
</table>
我想打印出来。
100, 18, John
200, 21, Mark
我已尝试过此主题提出以下建议,但未选择任何内容how to parse a table from HTML using jsoup
URL url = new URL("http://www.myurl.com");
Document doc = Jsoup.parse(url, 3000);
Element tables = doc.select("table[class=id]");
for(Element table : tables)
{
System.out.println(table.toString());
}
编辑:也尝试使用Jsoup.connect()而不是parse()
Document doc = null;
try
{
doc = Jsoup.connect("http://www.myurl.com").get();
}
catch (IOException e)
{
e.printStackTrace();
}
答案 0 :(得分:0)
试试这样:
URL url = new URL("http://www.myurl.com");
Document doc = Jsoup.parse(url, 3000);
// This should work now
Element tables = doc.select("table tr .id");
// This propably should work too
Element tables2 = doc.select("table tr[class*=id]");
for(Element table : tables)
{
System.out.println(table.toString());
}
来自文档:
public elements select(String cssQuery)查找与之匹配的元素 选择器CSS查询,以此元素作为起始上下文。匹配 元素可以包括此元素或其任何子元素。这个 方法通常比DOM类型使用更强大 getElementBy *方法,因为可以组合多个过滤器,例如: •el.select(&#34; a [href]&#34;) - 查找链接(带有href属性的标签) •el.select(&#34; a [href * = example.com]&#34;) - 查找指向的链接 example.com(松散地)
请参阅Selector中的查询语法文档。
参数:cssQuery - 一个类似Selector CSS的查询返回:elements 匹配查询(如果没有匹配则为空)