Перейти к содержимому
Последнее обновление

XPATH_STRING

Описание​

Функция XPATH_STRING разбирает строку XML и возвращает первый узел XML, соответствующий выражению XPath.

подсказка

Эта функция поддерживается начиная с версии 3.0.6.

Синтаксис​

XPATH_STRING(<xml_string>, <xpath_expression>)

Параметры​

ПараметрОписание
<xml_string>Исходная строка. Тип: VARCHAR
<xpath_expression>Выражение XPath. Тип: VARCHAR

Возвращаемое значение​

Возвращает содержимое первого узла XML, соответствующего выражению XPath, в виде значения типа VARCHAR.

Особые случаи:

  • Функция выдаёт ошибку, если xml или xpath имеют некорректный формат.

Примеры​

  1. Простое извлечение значения узла
SELECT xpath_string('<a>123</a>', '/a');
+-----------------------------------+
| xpath_string('<a>123</a>', '/a') |
+-----------------------------------+
| 123 |
+-----------------------------------+
  1. Извлечение вложенного элемента
SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+--------------------------------------------+
| xpath_string('<a><b>123</b></a>', '/a/b') |
+--------------------------------------------+
| 123 |
+--------------------------------------------+
  1. Использование атрибутов
SELECT xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]');
+----------------------------------------------------------+
| xpath_string('<a><b id="1">123</b></a>', '//b[@id="1"]') |
+----------------------------------------------------------+
| 123 |
+----------------------------------------------------------+
  1. Использование позиционных предикатов
SELECT xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]');
+----------------------------------------------------+
| xpath_string('<a><b>1</b><b>2</b></a>', '/a/b[2]') |
+----------------------------------------------------+
| 2 |
+----------------------------------------------------+
  1. Обработка CDATA и комментариев
SELECT xpath_string(NULL, '/a');
+--------------------------+
| xpath_string(NULL, '/a') |
+--------------------------+
| NULL |
+--------------------------+

Ключевые слова​

XPATH_STRING, XPATH, XML