日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle输出xml文件格式,在oracle中通过字段信息生成xml文件

發布時間:2023/12/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。