ITEM 関数は、ノードリストの idx 番目のノード(0から始まる)の DBMS_XMLDOM.DOMNODE ハンドルを返します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
説明
V4.4.2バージョンでは、このサブプログラムはOceanBaseデータベースV4.4.2 BP2バージョンから導入されました。
構文
DBMS_XMLDOM.item (
nodelist IN DBMS_XMLDOM.DOMNODELIST,
idx IN NUMBER);
パラメータの説明
パラメータ |
説明 |
|---|---|
| nodelist | ノードリスト DBMS_XMLDOM.DOMNODELIST ハンドル。 |
| idx | ノードのインデックス。0から始まります。 |
戻り値
リストの idx 番目の DBMS_XMLDOM.DOMNODE ハンドル。
使用方法
通常は GETLENGTH と組み合わせて使用します。アクセスする前に、idx が有効範囲 [0, GETLENGTH(nodelist) - 1] 内にあるかどうかを確認し、インデックスの越界を防いでください。インデックスが無効な場合、実装によっては空を返すか例外をスローすることがあります。
例
この例では、DBMS_XMLPARSER システムパッケージを使用してXMLドキュメントを解析し、DOMDOCUMENT ハンドルを取得します。次に、DBMS_XMLDOM システムパッケージを使用してXMLドキュメントの DOMNODELIST ハンドルを取得し、リストの最初の2つのノードを取得します。
-- 解析器とドキュメントハンドル変数の宣言
DECLARE
p DBMS_XMLPARSER.PARSER;
doc DBMS_XMLDOM.DOMDOCUMENT;
nl DBMS_XMLDOM.DOMNODELIST;
n DBMS_XMLDOM.DOMNODE;
BEGIN
-- パーサーインスタンスの作成
p := DBMS_XMLPARSER.NEWPARSER;
-- パーサーでXMLドキュメントを解析
DBMS_XMLPARSER.PARSECLOB(p, '<root><a/><b/></root>');
-- XMLドキュメントのDOMDOCUMENTハンドルを取得
doc := DBMS_XMLPARSER.GETDOCUMENT(p);
-- パーサーインスタンスの解放
DBMS_XMLPARSER.FREEPARSER(p);
-- XMLドキュメント内のすべての要素リストを取得
nl := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(doc, '*');
-- リストの最初のノードを取得
n := DBMS_XMLDOM.ITEM(nl, 0);
-- リストの2番目のノードを取得
n := DBMS_XMLDOM.ITEM(nl, 1);
-- XMLドキュメントリソースの解放
DBMS_XMLDOM.FREEDOCUMENT(doc);
END;
/