从Jsoup中的HTML文件中提取文本信息

时间:2015-03-08 10:07:41

标签: java html jsoup

在我写的一段代码中,我需要从网页上获取一些信息。此信息将根据登录的用户而有所不同。

我试图在下面的代码中获取标有 name here id number here 的两条信息。

<tr> 
  <td align="right"><b><label for="name" id="lblname">Name:</label></b> &nbsp;</td> 
  <td>*name here*</td> 
  <td align="right"><b><label for="ident" id="lblident">Local ID</label>:</b> &nbsp;</td> 
  <td>*id number here*</td> 
</tr> 

到目前为止,我能够完成的最好的事情是从下面的代码中打印Element&#34;名称。

Element name = information.getElementById("lblname");

所有输出都是代码的这一部分:

<label for="name" id="lblname">Name:</label>

我需要做什么来定义HTML文件的名称部分?

2 个答案:

答案 0 :(得分:0)

在获得<tr> </tr>

后,您可能会使用正则表达式来提取所需内容

答案 1 :(得分:0)

您可以使用Jsoup的CSS selector syntax来提取您需要的确切元素,例如:

// select the "name" <td>
Element name = doc.select("td:has(label#lblname) + td").first();

// select the "id" <td>
Element id = doc.select("td:has(label#lblident) + td").first();

// print out the text 
System.out.println(name.text());
System.out.println(id.text());

使用您的示例,输出将为:

*name here*
*id number here*