に最終更新
XPATH_STRING
説明
XPATH_STRING 関数は XML 文字列を解析し、XPath 式に一致する最初の XML ノードを返します。
ヒント
この関数はバージョン 3.0.6 以降でサポートされています。
構文
XPATH_STRING(<xml_string>, <xpath_expression>)
パラメータ
| パラメータ | 説明 |
|---|---|
<xml_string> | 入力文字列。型: VARCHAR |
<xpath_expression> | XPath 式。型: VARCHAR |
戻り値
VARCHAR 型の値を返します。値は、XPath 式に一致する最初の XML ノードの内容を表します。
特殊なケース:
- XML または XPath の形式が不正な場合、エラーが発生します。
例
- 基本的なノード値の抽出
SELECT xpath_string('<a>123</a>', '/a');
+-----------------------------------+
| xpath_string('<a>123</a>', '/a') |
+-----------------------------------+
| 123 |
+-----------------------------------+
- ネストした要素の抽出
SELECT xpath_string('<a><b>123</b></a>', '/a/b');
+--------------------------------------------+
| xpath_string('<a><b>123</b></a>', '/a/b') |
+--------------------------------------------+
| 123 |
+--------------------------------------------+
- 属性の使用
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 |
+----------------------------------------------------------+
- 位置述語の使用
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 |
+----------------------------------------------------+
- CDATA とコメントの処理
SELECT xpath_string(NULL, '/a');
+--------------------------+
| xpath_string(NULL, '/a') |
+--------------------------+
| NULL |
+--------------------------+
キーワード
XPATH_STRING, XPATH, XML