2012-01-10 1 views
1

Я знаю, что это может быть сделано с помощью getElementbyId (tableId), но у меня нет атрибута id. Таблица равнаКак перебрать таблицу и получить данные в теге <td> без использования атрибута id в tabel в java

 <table> 
     <tr> 
     <td>data</td> 
     </tr> 
     <tr> 
     <td>data5</td> 
     </tr> 
     <tr> 
     <td>data1</td> 
     <td>data2</td> 
     </tr> 
    </table> 

Я использую Htmlunit. Есть ли способ получить <td> с использованием htmlunit или java или любого api, JavaScript будет работать или нет. Я не уверен.

+0

Ваш html-код плохой, вы можете его очистить. – epascarello

+0

HTMLUnit может использовать xpath для ссылочных элементов. Прочтите документы. – epascarello

ответ

2

Использование JavaScript DOM траверс:

var table = document.getElementsByTagName("table")[0]; 
var tds = table.getElementsByTagName("td"); 
for (var i = 0; i < tds.length; i++) { 
    alert(tds[i].innerHTML); 
} 

Демо здесь: http://jsfiddle.net/AMbk7/

0

Jsoup сделает все, что вам нужно, по адресу wrt html parsing. Jsoup - это java api для обработки исходного кода html. Вы можете получить

  1. Таблица, с помощью которой вы можете анализировать каждую строку или столбец.
  2. Список всех ссылок и источников импорта в этот html (импорт как css и js-файлы).
  3. Данные конкретного тега.

и больше.

Надеюсь, это вам поможет.

0

Эй, я даю вам лучший способ найти данные в таблице.
Сначала получите список строк таблицы HTML. , затем получите список столбцов таблицы HTML и используйте для циклов и итерации таблицы.

List<HtmlTableRow> tableRows = table.getRows(); 

List<HtmlTableCell> tableColumns = table.getRow(0).getCells(); 

for (int row = 0; row < tableRows.size(); row++) 
{ 

for (int column = 0; column < tableColumns.size(); column++) 
{ 

// do your work Here 
    } 
} 
+0

получить данные столбца в строке –

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

  • Нет связанных вопросов^_^