getElementsByTagName 関数は、指定されたドキュメント doc の全サブツリー内で、深さ優先方式で tag_name というタグ名を持つすべての要素ノードを検索し、それらを一つのノードリストにまとめて返します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみ提供しています。
説明
V4.4.2バージョンでは、このサブプログラムはOceanBaseデータベースV4.4.2 BP2バージョンから導入されました。
構文
DBMS_XMLDOM.getElementsByTagName (
doc IN DBMS_XMLDOM.DOMDOCUMENT,
tag_name IN VARCHAR2);
パラメータの説明
パラメータ |
説明 |
|---|---|
| doc | XMLドキュメントの DBMS_XMLDOM.DOMDOCUMENT ハンドル。 |
| tag_name | 匹合する要素タグ名。値が '*' の場合は任意の要素タグに一致します。 |
戻り値
一致した要素ノードで構成される DBMS_XMLDOM.DOMNODELIST。
使用方法
返されたリストが空の場合は、一致する要素が見つからなかったことを意味します。イテレーション結果は GETLENGTH および ITEM と組み合わせて使用してください。要素テキストを読み取るには、GETNODEVALUE をさらに呼び出すことができます。
例
この例では、DBMS_XMLPARSER システムパッケージを使用してXMLドキュメントを解析し、DOMDOCUMENT ハンドルを取得します。次に、DBMS_XMLDOM システムパッケージを使用してXMLドキュメントの DOMNODELIST ハンドルを取得し、XMLドキュメント内のすべての "item" という名前の要素リストとすべての要素リストを取得します。
-- パーサーとドキュメントハンドル変数の宣言
DECLARE
p DBMS_XMLPARSER.PARSER;
doc DBMS_XMLDOM.DOMDOCUMENT;
nl DBMS_XMLDOM.DOMNODELIST;
BEGIN
-- パーサーインスタンスの作成
p := DBMS_XMLPARSER.NEWPARSER;
-- パーサーでXMLドキュメントを解析
DBMS_XMLPARSER.PARSECLOB(p, '<root><item/><item/></root>');
-- XMLドキュメントのDOMDOCUMENTハンドルを取得
doc := DBMS_XMLPARSER.GETDOCUMENT(p);
-- パーサーインスタンスの解放
DBMS_XMLPARSER.FREEPARSER(p);
-- XMLドキュメント内のすべての「item」という名前の要素リストを取得
nl := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(doc, 'item');
-- XMLドキュメント内のすべての要素リストを取得
nl := DBMS_XMLDOM.GETELEMENTSBYTAGNAME(doc, '*');
-- XMLドキュメントリソースの解放
DBMS_XMLDOM.FREEDOCUMENT(doc);
END;
/