对于下面的代码,在Oracle 10g中,它表示节点是空的,在11g中,它不是空的。在一边有一个换行符。如果内部有空格,则两个版本的结果相同。一旦内部没有任何内容,两个版本都不会有输出。为什么会这样?
DECLARE
v_doc dbms_xmldom.DOMDocument;
v_elem dbms_xmldom.DOMElement;
v_nelem dbms_xmldom.DOMNode;
BEGIN
-- create the DOMDocument
v_doc := dbms_xmldom.newDOMDocument(xmlType('<XMLDATA>
</XMLDATA>'));
v_nelem := DBMS_XMLDOM.MAKENODE(v_doc);
v_nelem := DBMS_XSLPROCESSOR.SELECTSINGLENODE(v_nelem,'XMLDATA/text()');
IF NOT(dbms_xmldom.ISNULL(v_nelem)) THEN
DBMS_OUTPUT.PUT_LINE('The node is not empty');
END IF;
END;
/