説明
この関数は入力された文字列を解析し、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