oracle输出xml文件格式,在oracle中通过字段信息生成xml文件
一般地,在開發xmlp的時候,我們要先用report builder制作rdf模板,然后上傳rdf到客戶化應用下的reports文件夾下,通過并發請求,輸出xml數據,然后保存成xml文件,或者直接將請求輸出的out文件改后綴為xml,同樣得到輸出數據的xml文件,接著通過加載xml數據制作rtf模擬,定義數據和模板,再次處理并發請求,以求得到我們想要輸出格式的報表。(其中的詳細過程就不再啰嗦了,想必都已經很熟了)
但是如果我們的開發環境中沒辦法上傳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程序包
總結
以上是生活随笔為你收集整理的oracle输出xml文件格式,在oracle中通过字段信息生成xml文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle vm安装增强功能,Linu
- 下一篇: oracle sql序列,SQL ser