请教以下问题,谢谢
以下两个程序输入报文为
<?xml version="1.0" encoding="UTF-8"?>
<config>
      <log_remote>false</log_remote>
      <db_remote>false</db_remote>
</config>1. 输入参数为varchar类型,代码如下。长度input_list_n,能够计算出来为1,但是取不出p_id的值,值为null,为什么?create or replace procedure P_XMLTEST3(in_param in varchar, out_param out varchar)
ISparser xmlparser.parser;
xmldoc xmldom.DOMDocument;
nodelist xmldom.domnodelist;
tempnode xmldom.domnode;
v_attr_name  varchar2(500);
v_attr_val  varchar2(500);
p_id varchar2(255);
input_list_n integer;begin
parser := xmlparser.newParser;
 xmlparser.setValidationMode(parser, TRUE);
 xmlparser.parseBuffer(parser,in_param);
xmldoc := xmlparser.getDocument(parser);
xmlparser.freeParser(parser);
nodelist := xslprocessor.selectNodes(xmldom.makeNode(xmldoc),'/config');
tempnode := xmldom.item(nodelist, 0);
input_list_n:=xmldom.getLength(nodelist);
xslprocessor.valueOf(tempnode,'ID/text()',p_id);dbms_output.put_line(p_id);
dbms_output.put_line(input_list_n);
end;2. 输入参数为clob类型,在测试调试执行xmlparser.ParseCLOB(parser, in_param )时提示输入的列值为null,但是已经在测试的输入参数里输入以上报文,为什么?
create or replace procedure P_XMLTEST2(in_param in clob, out_param out varchar)
ISparser xmlparser.parser;
xmldoc xmldom.DOMDocument;
nodelist xmldom.domnodelist;
tempnode xmldom.domnode;
v_attr_name  varchar2(500);
v_attr_val  varchar2(500);
p_id varchar2(255);begin
parser := xmlparser.newParser;
xmlparser.ParseCLOB(parser, in_param );
xmldoc := xmlparser.getDocument(parser);
xmlparser.freeParser(parser);
nodelist := xslprocessor.selectNodes(xmldom.makeNode(xmldoc),'/config');
tempnode := xmldom.item(nodelist, 0);
xslprocessor.valueOf(tempnode,'ID/text()',p_id);end;