2015-05-30 1 views
3

Я пытаюсь извлечь некоторые данные из таблицы исторических цен фондового рынка в Android. В таблице иногда есть строка, которую мне нужно удалить, чтобы иметь чистую таблицу. В фрагменте ниже строки находится третий трет. Я нашел способ, чтобы удалить ячейку с помощью дивидендаjsoup - найти элемент и удалить его вместе с предыдущим элементом

html = document.select("td[class=\"yfnc_tabledata1\"][align=\"center\"]"); 
      html.remove(); 

Но я не уверен, о том, как и удалить тд с датой (4 мая 2015). Есть идеи? Затем я получаю элементы по классу «yfnc_tabledata1» и просматриваю их, чтобы найти нужные мне данные.

<tr> 
 
    <td class="yfnc_tabledata1" nowrap align="right">May 5, 2015</td> 
 
    <td class="yfnc_tabledata1" align="right">28.69</td> 
 
    <td class="yfnc_tabledata1" align="right">28.96</td> 
 
    <td class="yfnc_tabledata1" align="right">27.64</td> 
 
    <td class="yfnc_tabledata1" align="right">27.71</td> 
 
    <td class="yfnc_tabledata1" align="right">4,595,800</td> 
 
    <td class="yfnc_tabledata1" align="right">27.58</td> 
 
</tr> 
 
<tr> 
 
    <td class="yfnc_tabledata1" nowrap align="right">May 4, 2015</td> 
 
    <td class="yfnc_tabledata1" align="right">28.67</td> 
 
    <td class="yfnc_tabledata1" align="right">28.80</td> 
 
    <td class="yfnc_tabledata1" align="right">28.35</td> 
 
    <td class="yfnc_tabledata1" align="right">28.61</td> 
 
    <td class="yfnc_tabledata1" align="right">33,537,800</td> 
 
    <td class="yfnc_tabledata1" align="right">28.47</td> 
 
</tr> 
 
<tr> 
 
    <td class="yfnc_tabledata1" nowrap align="right">May 4, 2015</td> 
 
    <td class="yfnc_tabledata1" align="center" colspan="6">0.26 Dividend</td> 
 
</tr> 
 
<tr> 
 
    <td class="yfnc_tabledata1" nowrap align="right">May 1, 2015</td> 
 
    <td class="yfnc_tabledata1" align="right">28.68</td> 
 
    <td class="yfnc_tabledata1" align="right">28.68</td> 
 
    <td class="yfnc_tabledata1" align="right">28.68</td> 
 
    <td class="yfnc_tabledata1" align="right">28.68</td> 
 
    <td class="yfnc_tabledata1" align="right">0</td> 
 
    <td class="yfnc_tabledata1" align="right">28.28</td> 
 
</tr>

ответ

1

Я не пробовал это сам, но вы можете попробовать сделать что-то вроде этого:

document.select("td[class=\"yfnc_tabledata1\"][align=\"center\"]").parents(); 

Таким образом, вы получите заключающий «тр» и вы может удалить всю строку.

+0

Да, кажется, сработало! Спасибо за помощь! – NicolaF

1

Хорошо, нашел решение уже.

for(Element element : document.select("td[class=\"yfnc_tabledata1\"][align=\"center\"]")) { 
       el = element.parent(); 
       el.remove(); 
      } 

Таким образом, я нахожу тд с дивидендом, я его родителей и удалить все. Кажется, работает.

Смежные вопросы