Xpath выражение

Xpath_выражение - это способ записи указания на место в дереве документа. Это средство указания не конкретный узел (или узлы) в дереве документа.

Виды Xpath_выражений (Оси выборки):

  • / - корневой элемент
  • // - поиск элемента на любой глубине
  • * - любой вложенный элемент
  • @code - атрибут элемента
  • self - я сам (сам элемент) или .
  • child - все дочерние узлы
  • parent - родитель элемента или ..
  • attribute - дочерний узел элемента в виде атрибута
  • descendant - нисходящие, т.е. все узлы, которые находятся по DOM структуре ниже меня
  • descendant-or-self - я сам и мои нисходяшии
  • ancestor - все восходищие узлы, т.е. все узлы, которые находятся по DOM структуре выше меня до корня
  • ancestor-or-self - все восходищие узлы и я сам
  • following - все следующие узлы за мной на обработку, вместе с узлами нижесходящими
  • following-sibling - все соседние узлы, находящиеся со мной на одном уровне вложенности
  • precending - все узлы прешедствующие меня и их вложенные узлы
  • precending-sibling - все узлы прешедствующие меня

Функции Xpath:

  • node() - функция, возвращающая текущий контекст обработки - текущий узел
  • comment() - функция, возвращающая кментарии
  • last() - функция возвращает true, тогда, когда этот элемент последний в очереде
  • position() - функция возвращает номер узла
  • count(/pricelist/books) - функция возвращает количество книжек, при этом отсчет идет с единици - число узлов
  • local-name() - локальное имя без пространства
  • namespace-uri() - имя в пространстве имен
  • name() - возвращает имя узла (имя тега)
  • boolean(какой-то_узел) - функция возвращает false, если этот узел пустой, инече возвращает true
  • number(какой-то_узел) - преобразовывает содержимое в число, если преобразовать нельзя вернет NAN
  • sum(набор числовых узлов) - выводит сумму этих узлов
  • floor() - округление до нижнего целого
  • ceiling() - округление до верхнего целого
  • round() - правильное округление (школьное)
  • string() - Преобразует в строку
  • concat(string1, string2, string*) - объединяет строки находящиеся внутри функции
  • starts-with(string1, string2) - если строка string1 начинается со строки string2, то функция возвращает true
  • containcs(string1, string2) - если строка string1 содержит строку string2, то функция возвращает true
  • substring-before(string1, string2) - вырезать строку string1 до строки string2
  • substring-after(string1, string2) - вырезать строку string1 после строки string2
  • substring(string1, number1, number*) - вырезать строку string1 с нужной позиции number1 нужное число символов
  • string-length(string?) - длинна строки
  • normalize-space(string?) - убрать хвостовые и начальные пробелы
  • translate(string1, string2, string3) - в строке string1 заменяются символы string2 на символы string3
Вверх