Jsoup удалить конкретный идентификатор TR

1

Я пытаюсь удалить "TR" на таблице с определенным идентификатором, где я получил от

String url = "http://citraslider.blogspot.com/2014/03/table-model.html";
Document doc = Jsoup.connect(url).get();
System.out.println(doc);

И напечатайте:

<table id="mt" border="0" cellpadding="2" cellspacing="0" width="100%" class="hbtbl">
    <tr id="1"><td class="aa"><div class="bb">11</div><a href="mailto:[email protected]" target="_blank"><b class="nme pn_std">bua</b></a>: ask 1 ?</td></tr>
    <tr id="2"><td class="a"><div class="b">12</div><a href="mailto:[email protected]" target="_blank"><b class="nme pn_std">bua</b></a>: ask 2 ?</td></tr>
    <tr id="3"><td class="aa"><div class="bb">13</div><a href="mailto:[email protected]" target="_blank"><b class="nme pn_std">bua</b></a>: ask 3 ?</td></tr>
    <tr id="-1"><td class="a"><div align="center"><a href="javascript:void(window.open('index.php?mid=1&btag=awe&i='+((cf.op)?cf.op:8304), 'archive', 'width=320,height=400,resizable=yes,scrollbars=yes'));">[prev]</a></div></td></tr>
</table>

Вот так:

Elements elemen= doc.select("tr");
Elements el = doc.getElementsByAttributeValue("id", "-1");
el.remove(0);
System.out.println(el); // Here its work
for (Element e : elemen) {
    System.out.println(e.text()+":"+e.attr("id")); // But at this line still show [prev], tr id="-1" still show
    e.getElementsByAttributeValue("id", "-1").remove();
}

Итак, как я могу удалить "tr id = -1" по результатам цикла?

    <tr id="-1"><td class="a"><div align="center"><a href="javascript:void(window.open('index.php?mid=1&btag=awe&i='+((cf.op)?cf.op:8304), 'archive', 'width=320,height=400,resizable=yes,scrollbars=yes'));">[prev]</a></div></td></tr>
Теги:
html-table
jsoup

1 ответ

0
Лучший ответ

Просто измените селектор, чтобы исключить tr для id = -1

Elements elemen= doc.select("tr").not("tr#-1");

Подробнее о синтаксисе селектора здесь.

Код становится,

Elements elemen= doc.select("tr").not("tr#-1");
        for (Element e : elemen) {
            System.out.println(e.text()+":"+e.attr("id"));

        }

дает,

11bua: ask 1 ?:1
12bua: ask 2 ?:2
13bua: ask 3 ?:3
  • 0
    Спасибо @PopoFibo, его работы
  • 0
    @enhaka, пожалуйста
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню