PARSEBUFFER プロシージャは、作成済みのXMLパーサーを使用して、VARCHAR2 形式のXMLテキストを解析します。PARSECLOB と同様にXMLを解析するプロシージャですが、比較的短いXMLテキストに適しています。解析が成功すると、GETDOCUMENT を使用してDOMドキュメントを取得できます。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise版にのみ適用されます。OceanBaseデータベースCommunity版はMySQLモードのみを提供します。
説明
V4.4.2系では、このサブプログラムはOceanBaseデータベースV4.4.2 BP3から導入されました。
構文
DBMS_XMLPARSER.parseBuffer (
parser IN DBMS_XMLPARSER.PARSER,
xml_buffer IN VARCHAR2);
パラメータの説明
パラメータ |
説明 |
|---|---|
| parser | NEWPARSER によって作成された DBMS_XMLPARSER.PARSER ハンドル。 |
| xml_buffer | 解析対象のXMLテキスト。VARCHAR2 形式で渡します。 |
戻り値
戻り値はありません。
使用方法
- 解析処理中に不正なXMLや空のドキュメントなどの異常が検出された場合は、その時点でエラーになります。
- 解析が成功した場合、直ちに
GETDOCUMENTを使用してDBMS_XMLDOM.DOMDOCUMENTハンドルを取得することを推奨します。 - 長いXMLテキストについては、PARSECLOBを引き続き使用してください。
例
この例では、PARSEBUFFER を使用して短いXMLテキストを解析し、DOMドキュメントを取得した後にリソースを解放します。
DECLARE
parser DBMS_XMLPARSER.PARSER;
doc DBMS_XMLDOM.DOMDOCUMENT;
BEGIN
parser := DBMS_XMLPARSER.newParser;
DBMS_XMLPARSER.parseBuffer(parser, '<root><item>hello</item></root>');
doc := DBMS_XMLPARSER.getDocument(parser);
DBMS_XMLPARSER.freeParser(parser);
DBMS_XMLDOM.freeDocument(doc);
END;
/