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;