我怎样才能获得粗体元素&#34;这个&#34;来自HTML使用jsoup。我的问题是我不知道如何使用这个元素,因为我需要检测它是否来自<tr>
&#34; Ulica&#34;第一。我需要在document.select(...)
中放入什么?有任何想法吗?感谢。
<table class="InfoTable">
<tr>
<td class="Name">Ulica:</td>
<td class="Value"><span id="ctl00_RightContentPlaceholder_lbAregStreet">**THIS**</span></td>
</tr>
<tr>
<td class="Name">Mesto:</td>
<td class="Value"><span id="ctl00_RightContentPlaceholder_lbAregCity">XXXXX</span></td>
</tr>
<tr>
<td class="Name">PSČ:</td>
<td class="Value"><span id="ctl00_RightContentPlaceholder_lbAregZip">XXXX</span></td>
</tr>
<tr>
<td class="Name">Štát:</td>
<td class="Value"><span id="ctl00_RightContentPlaceholder_lbAregCountry">XXXXX</span></td>
</tr>
</table>
答案 0 :(得分:1)
您可以将所有内容整合到一个selector
中示例:强>
// html is your posted html code here, you can connect to a website too.
final String html = ...
Document doc = Jsoup.parse(html); // Parse into document
// Select the element and print it
for( Element element : doc.select("td:contains(Ulica:) ~ td") )
{
System.out.println(element);
}
<强>解释强>
td:contains(Ulica:) ~ td
:选择带有文字td
的{{1}}元素,然后选择下一个兄弟元素Ulicia
。
<强>输出:强>
td
现在,您可以从该元素中获取所需的值。
答案 1 :(得分:0)
看看this;这是用Java进行HTML解析的好方法。
String html="<table class=\"InfoTable\"<tr><td class=\"Name\">Ulica:</td> <td class=\"Value\"><span id=\"ctl00_RightContentPlaceholder_lbAregStreet\">**THIS**</span></td></tr><tr><td class=\"Name\">Mesto:</td><td class=\"Value\"><span id=\"ctl00_RightContentPlaceholder_lbAregCity\">XXXXX</span></td></tr></table>";
org.jsoup.nodes.Document doc = Jsoup.parse(html);
Iterator<Element> productList = doc.select("table[class=InfoTable]").iterator();
while (productList.hasNext()) {
//Do some processing
Element descLi = productList.next().select( "td:eq(1)").first();
String rr = descLi.text();
Log.d("TESTTT",rr );
}