簡體   English   中英

使用動態id的jsoup

[英]Using jsoup with dynamic id's

我正在嘗試使用jsoup來解析html文件。 它是使用表格來顯示產品。 每個產品都在一個表中,其id范圍從1到“n”。 像下面的例子:

<table align="center" width="98%" id="A + 1">
   <tbody>
      <tr>
         <td valign="top" style="width: 03%;">
            <span class="line">1</span>
         </td>
         <td valign="top" style="width: 56%;">
            <span class="line">PRODNAME</span>
         </td>
         <td valign="top" style="width: 10%;">
            <span class="line">850.000</span>
         </td>
      </tr>
   </tbody>
</table>

所以第一個產品將在表格中標識為“A + 1”,第二個產品將在“A + 2”中,依此類推。

我無法使用選擇器迭代這些表。 我正在做:

Document doc = Jsoup.parse(html);
Elements products = doc.select("table[idˆ=A]");
for (Element product : products) {
   // do something
}

如果我讀得正確( http://jsoup.org/apidocs/org/jsoup/select/Selector.html),doc.select(“table doc.select("table[idˆ=A]")應該檢索id屬性以一個開頭的所有表“一種”...

但我的Elements對象(產品)是空的......我做錯了什么?

我在Mac OS X(10.7.4)上使用jsoup 1.6.3,java 1.6.0_31和Netbeans 7.1.2。

任何幫助贊賞。

您似乎在選擇器中使用了錯誤的抑揚符號,但我不確定jsoup是否應該返回空結果集或在無效選擇器上拋出異常。

無論如何,試試這個:

Document doc = Jsoup.parse(html);
Elements products = doc.select("table[id^=A]");
for (Element product : products) {
   // do something
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM