但是如果我们的开发环境中没办法上传rdf模板的时候,我们就要用其他的办法输出得到xml文件了,这里是介绍了一种使用plsql通过字段信息生成xml文件的方法:
dbms_xmlgen这个程序包是关键,有兴趣的可以去了解下,它可以根据一个游标输出一个CLOB格式的XML文本,下面是参考程序:
PROCEDURE xml_print(errbuf OUT VARCHAR2,
retcode OUT NUMBER) IS
ctx dbms_xmlgen.ctxhandle;
c_result CLOB;
xmltext VARCHAR2(5000);
v_source ref_cursor;
line VARCHAR2(200);
TYPE ref_cursor IS REF CURSOR;
BEGIN
--定义数据,数据集必须为游标变量
OPEN v_source FOR
SELECT 1,
2,
CURSOR (SELECT 3,
4
FROM dual
WHERE 1 = 1
UNION ALL
SELECT 5,
6
FROM dual
WHERE 1 = 1)
FROM dual
WHERE 1 = 1;
--定义XML CLOB文件
ctx := dbms_xmlgen.newcontext(v_source);
--设置XML文件标签
dbms_xmlgen.setrowsettag(ctx,
'HEADER');
dbms_xmlgen.setrowtag(ctx,
'LINE');
-- generate the CLOB as a result.
c_result := dbms_xmlgen.getxml(ctx);
/* --直接输出clob
dbms_output.put_line(c_result);*/
--以文本形式输出XML文件
xmltext := substr(c_result);
LOOP
EXIT WHEN xmltext IS NULL;
line := substr(xmltext,
1,
instr(xmltext,
chr(10)) - 1);
fnd_file.put(fnd_file.output,
line);
xmltext := substr(xmltext,
instr(xmltext,
chr(10)) + 1);
END LOOP;
dbms_xmlgen.closecontext(ctx);
CLOSE v_source;
END xml_print;
上面的输出格式等自己可以控制,更多的方法可以查看dbms_xmlgen程序包