2

对于下面的代码,在 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;
/
4

0 回答 0