説明
この関数は、入力された文字列を解析してXMLTypeデータ型を生成します。
構文
XMLPARSE
({ DOCUMENT | CONTENT } value_expr [ WELLFORMED ])
パラメータの説明
フィールド |
説明 |
|---|---|
| DOCUMENT | 解釈する内容が単一ルートノードのXMLドキュメントである必要があります。DOCUMENT には宣言ヘッダーを含めても含めなくてもかまいません。 |
| CONTENT | 解釈する内容が有効なXMLフラグメントである必要があります。CONTENT には宣言ヘッダーを含めてはいけません。含めた場合、エラーが発生します。 |
| value_expr | 解析する文字列を指定します。結果の文字型は CHAR、VARCHAR2、NCHAR、NVARCHAR2、または CLOB にすることができます。 |
注意:value_expr の計算結果が NULL の場合、関数も NULL を返します。 |
|
| WELLFORMED | WELLFORMED マークが付いている場合、解析内容の有効性チェックは実行されません。オプションです。 |
戻り値のタイプ
XMLTypeデータ型を返します。
例
# 有効なXMLフラグメント 'abc' の解析
obclient> SELECT XMLPARSE(CONTENT '<a>abc</a>') FROM DUAL;
+-------------------------------+
| XMLPARSE(CONTENT'<A>ABC</A>') |
+-------------------------------+
| <a>abc</a>
|
+-------------------------------+
1 row in set
# XML DOCUMENTの解析
obclient> SELECT XMLPARSE(DOCUMENT '<?xml version="1.0" encoding="UTF-8" ?><body>135 <purchaseOrder poNo="12435">
<customerName> Enterprises</customerName>
<itemNo>123456</itemNo>
</purchaseOrder></body>'
WELLFORMED) AS PRO FROM DUAL;
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| PRO |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| <?xml version="1.0" encoding="UTF-8"?>
<body>135 <purchaseOrder poNo="12435">
<customerName> Enterprises</customerName>
<itemNo>123456</itemNo>
</purchaseOrder>
</body>
|
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set