当我尝试使用Table标签中的类名提取标签的值时,我得到这样的结果:
<input class="TGNDateInput" type="text" name="txtDate" size="10" maxlength="10" value="2015/08/06">
使用jsoup,我如何只提取日期值(&#34; 2015/08/06&#34;)?
这是我的代码:
System.out.println(table.getElementsByClass("criteriatext").get(1).getElementsByAttribute("value"));
网页上的实际表格:
<table BORDER=0 WIDTH=40%>
<tr>
<td class=criteriatext>Date:</td>
<td class=criteriatext>
<input class=DateInput type=text name=txtDate SIZE=10 MAXLENGTH=10 VALUE="2015/08/05">
<span class=textsmall>(yyyy/mm/dd)</span>
</td>
</tr>
</table>
答案 0 :(得分:4)
你应该直接使用选择器:
Element txtDateInput = document.select("input[name=txtDate]").first();
String txtDate = txtDateInput.attr("value");
答案 1 :(得分:1)
要从Element使用Element#attr("attributeName")
获取属性的值,所以在您的情况下,它可以简单地在您的选择器之后添加它:
String date = table.getElementsByClass("criteriatext")
.get(1)
.getElementsByAttribute("value")
.attr("value");
System.out.println(date);// -> 2015/08/05
您也可以简单地选择放置在input
类td
内的criteriatext
,并将属性value
添加为
String date = table.select("td.criteriatext > input[value]").attr("value");