Запрос таблицы Jsoup - PullRequest
       3

Запрос таблицы Jsoup

0 голосов
/ 24 января 2012

Я нечастый программист и пытаюсь изучать Java. У меня есть веб-проект, который я хотел бы сделать, и наткнулся на Jsoup, который кажется превосходным - за исключением того, что я не могу получить то, что хочу от веб-страницы (я уверен, что ответ очень прост). Может ли кто-нибудь (с максимально возможной детализацией) объяснить, как я извлекаю 280,00 из строки этой таблицы? 10 можно использовать для идентификации уникальной строки (так как в таблице есть несколько других строк).

Я получил этот код: -

// Take the 3rd column of the table called tabletext and extract the 3rd element only

Elements entry =document.select(".tabletextd:eq(3)").eq(2);
System.out.println(entry.text());

Это разумно или есть лучший способ?

Спасибо

Mark

 <tr align="center" style="background:#FFFFFF">
    <td>10</td>
    <td>10.00</td>
    <td>&pound;0.00</td>
    <td>&pound;280.00</td>
      <td>
      <a href="/cart.php?action=add&qty=10&id=2628" title="Click here to add this item to your cart">
      <img alt="Click here to add this item to your cart" src="/images/addtocart.gif" border="0" />
      </a>
    </td>
 </tr>

1 Ответ

1 голос
/ 01 февраля 2012

Предполагая, что таблица имеет идентификатор tabletext, вот как я ее кодировал:

    String html =
            "<table id='tabletext'>" +
            "<tr align='center' style='background:#FFFFFF'>" +
            "<td>10</td>" +
            "<td>10.00</td>" +
            "<td>&pound;0.00</td>" +
            "<td>&pound;280.00</td>" +
            "<td>" +
            "<a href='/cart.php?action=add&qty=10&id=2628' title='Click here to add this item to your cart'>" +
            "<img alt='Click here to add this item to your cart' src='/images/addtocart.gif' border='0' />" +
            "</a>" +
            "</td>" +
            "</tr>" +
            "</table>";
    Document doc = Jsoup.parseBodyFragment(html);

    Elements elements = doc.select("#tabletext > tbody > tr > td");
    Element e = elements.get(3); //this is the 4th column
    System.out.println(e.text());

Если у нее есть класс tabletext, тогда используйте .tabletext в doc.select.Вы сказали, что у таблицы было имя tabletext, и это заставило меня поверить, что это был идентификатор, а не класс.

...