对于下面的代码,在 Oracle 10g 中,它说节点是空的,在 11g 中,它不是空的。在 side 之间有一个换行符。如果里面有空格,两个版本的结果是一样的。一旦里面什么都没有,两个版本都不会有输出。为什么会这样?
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;
/