Разбор информации из HTML, чтобы узнать выбранную опцию - PullRequest
0 голосов
/ 18 октября 2019

Я использую библиотеку Java и Jsoup для анализа текста из html. В html у меня есть два варианта: Single и Multiple. Обе имеют флажок рядом с ними, и если выбран вариант «Одиночный», флажок установлен и флажок «Несколько» не установлен. Мне нужно найти способ с помощью кода, какой вариант выбран, является ли он множественным или единичным. Я действительно ценю вашу помощь. Спасибо.

Image show options


  <table class="MsoNormalTable" style="border-collapse:collapse;mso-yfti-tbllook:1184;mso-padding-alt:0in 0in 0in 0in" cellspacing="0" cellpadding="0" border="1">
   <tbody><tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;height:21.0pt">
    <td style="width:36.75pt;border-top:solid windowtext 1.0pt;
    border-left:solid windowtext 1.0pt;border-bottom:none;border-right:none;
    background:#F2F2F2;padding:.75pt .75pt .75pt .75pt;height:21.0pt" width="49">
    <p class="MsoNormal" style="margin-top:0in;margin-right:-6.0pt;
    margin-bottom:0in;margin-left:-6.0pt;margin-bottom:.0001pt;text-align:center;
    vertical-align:baseline" align="center">​​<span style="font-family:&quot;MS Gothic&quot;">☒</span>​&nbsp;&nbsp;</p>
    </td>
    <td style="width:442.5pt;border-top:solid windowtext 1.0pt;
    border-left:none;border-bottom:none;border-right:solid windowtext 1.0pt;
    background:#F2F2F2;padding:.75pt .75pt .75pt .75pt;height:21.0pt" width="590">
    <p class="MsoNormal" style="margin-left:1.5pt;vertical-align:baseline"><span style="font-size:10.0pt">Single&nbsp;</span></p>
    </td>
   </tr>
   <tr style="mso-yfti-irow:1;mso-yfti-lastrow:yes">
    <td style="width:36.75pt;border:none;border-left:solid windowtext 1.0pt;
    background:#F2F2F2;padding:.75pt .75pt .75pt .75pt" width="49">
    <p class="MsoNormal" style="margin-top:0in;margin-right:-6.0pt;
    margin-bottom:0in;margin-left:-6.0pt;margin-bottom:.0001pt;text-align:center;
    vertical-align:baseline" align="center">​​<span style="font-family:&quot;MS Gothic&quot;">☐</span>​&nbsp;</p>
    </td>
    <td style="width:442.5pt;border:none;border-right:solid windowtext 1.0pt;
    background:#F2F2F2;padding:.75pt .75pt .75pt .75pt" width="590">
    <p class="MsoNormal" style="margin-left:1.5pt;vertical-align:baseline"><span style="font-size:10.0pt">Multiple&nbsp;</span></p>
    </td>
   </tr>
  </tbody></table>
  <p class="MsoNormal" style="vertical-align:baseline"><span style="font-size:
  10.0pt;font-family:&quot;Times New Roman&quot;,serif">&nbsp;</span></p>

1 Ответ

1 голос
/ 18 октября 2019

Попробуйте:

Document doc = Jsoup.parse(html);
String selected = doc.select("tr:contains(☒) td:eq(1)").first().text();

selected должен содержать текст выбранной опции, "Single" или "Multiple".

Селектор tr:contains(☒) выбирает таблицустрока, содержащая символ,, и td:eq(1) затем выбирает вторую ячейку таблицы в этой строке. (Он начинается с 0, поэтому первая ячейка - номер 0, вторая ячейка - номер 1 и т. Д.)

...