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