GETLENGTH v18

The GETLENGTH function returns the number of nodes in a DOMNodeList.

GETLENGTH(nl DOMNodeList) RETURN PLS_INTEGER

Parameters

nl

The DOMNodeList,

Examples

This example executes a function func1 that creates the XML structure <Departments>Dept1</Departments> and returns the root node, which is a DOMDocument.

CREATE OR REPLACE FUNCTION func1 RETURN DBMS_XMLDOM.DOMNode IS
   l_domdoc DBMS_XMLDOM.DOMDocument;
   l_root_node DBMS_XMLDOM.DOMNode;
   l_department_element DBMS_XMLDOM.DOMElement;
   l_departments_node DBMS_XMLDOM.DOMNode;
   l_name_text DBMS_XMLDOM.DOMText;
   l_name_textnode DBMS_XMLDOM.DOMNode;
BEGIN
   l_domdoc := DBMS_XMLDOM.NEWDOMDOCUMENT;
   l_root_node := DBMS_XMLDOM.MAKENODE(l_domdoc);
   l_department_element := DBMS_XMLDOM.CREATEELEMENT(l_domdoc, 'Departments' );
   l_departments_node := DBMS_XMLDOM.APPENDCHILD(l_root_node,DBMS_XMLDOM.MAKENODE(l_department_element));
   l_name_text := DBMS_XMLDOM.CREATETEXTNODE(l_domdoc, 'Dept1' );
   PERFORM DBMS_XMLDOM.APPENDCHILD(l_departments_node,DBMS_XMLDOM.MAKENODE(l_name_text));
   return l_root_node;
END;

You can retrieve all the child nodes of the root node by calling GETCHILDNODES, and you can determine the number of child nodes using the GETLENGTH function:

DECLARE
   clist DBMS_XMLDOM.DOMNodeList;
   len NUMBER;
BEGIN
   clist := DBMS_XMLDOM.GETCHILDNODES(func1());
   len := DBMS_XMLDOM.GETLENGTH(clist);
   dbms_output.put_line('root node num children: ' || to_char(len));
END;