Спецификация XPath 1.0 гласит, что 'td' - это ось (например, дети) и нод-тест (имя тега TD), а все, что в квадратных скобках - Предикатное выражение , которое либо оценивается как логическое (истина или ложь), либо в особом случае числа, оцениваемого как позиционный фильтр набора узлов:
если результат не является числом, то результат будет конвертирован как при вызове логической функции.Таким образом, путь местоположения para [3] эквивалентен para [position () = 3].
case 1: число в качестве предиката
td[6]
выбирает шестую дочернюю таблицу-элемент данных, так как число 6
оценивается как сокращение для предиката position()=6
.
case 2: строка в кавычках в качестве предиката
td['6']
выбирает каждый дочерний элемент данных таблицы, так как строка '6'
не является пустым или имеет ненулевую длину и, следовательно, оценивается как true
(см. логическое преобразование ).Таким образом, набор узлов TD-элементов больше не фильтруется (потому что предикат всегда верен).
Я исследую и предоставлю онлайн-образец ..