Я пытаюсь создать приложение Java, которое получает информацию с веб-страницы. Это часть кода, я пытаюсь получить доступ к значению в 1-м теге td во 2-ом теге tr:
Предполагая, что документ соответствует указанному в вопросе (TABLE
является верхним элементом),
Используйте
/TABLE/TR[2]/TD[1]/text()
Выбирает любой дочерний элемент текстового узла первого TD
дочернего элемента второго TR
дочернего элемента верхнего элемента TABLE
.
Если таблица скрыта в XML-документе, но может быть однозначно идентифицирована по атрибуту CLASS
, используйте :
//TABLE[@CLASS='datadisplaytable']/TR[2]/TD[1]/text()
Это выбирает любой дочерний элемент текстового узла первого TD
дочернего элемента второго TR
дочернего элемента любого (мы знаем, что это только один такой) элемент TABLE
в документе XML, так что строковое значение атрибут CLASS
- это строка 'datadisplaytable'
.
Наконец, , если еще хуже, может быть много элементов TABLE
, значение атрибута которых CLASS
равно 'datadisplaytable'
, и мы хотим выбрать в первой такой таблице использование:
(//TABLE[@CLASS='datadisplaytable'])[1]/TR[2]/TD[1]/text()