[英]How to write XML to file (PL/SQL)?
I cannot for the life of me find out how to write this to a file, despite various attempts. 尽管进行了各种尝试,但我终生无法找到如何将其写入文件的方法。 I will apologize in advance, I am very new to XML and SQL Procedures.
我将提前致歉,我对XML和SQL过程非常陌生。 My code is currently outputting XML correctly, I am just having trouble finding out how to write it to a file and make it a procedure.
我的代码当前正确地输出XML,但是我很难找到如何将其写入文件并使其成为一个过程。
Here is a very-cut-down version (regarding the XML and select) of what I currently have: 这是我目前拥有的非常精简的版本(关于XML和select):
PROCEDURE markviewimport_interface
(
p_invoice_id number(10),
p_filename nvarchar(30)
)IS
v_xmloutput CLOB;
--v_FILENAME VARCHAR2(100) := concat(r_markviewimport.invoice_id,'-',r_markviewimport.vendor_num,'.XML');
BEGIN
SELECT
XMLFOREST(
XMLCONCAT(
XMLELEMENT("CREATEDBY",XMLATTRIBUTES('Exported By' AS "header"), 'Magellan IT'),
XMLELEMENT("TIMESTAMP",XMLATTRIBUTES('Date' AS "header"), TO_CHAR(SYSDATE,'MM.DD.YYYY')),
XMLFOREST(
XMLFOREST(
XMLFOREST(
'invoice_id' AS "DBFIELD",
'Invoice ID' AS "CAPTION",
r_markviewimport.invoice_id AS "VALUE"
) AS "DATA_ITEM"
) AS "BASICDATA"
)
) AS "DATA_ROOT"
)
FROM
(
SELECT DISTINCT inv.invoice_id FROM apps.ap_invoices_all inv WHERE inv.invoice_id = 4796324
) r_markviewimport
1) Config (Log as user with CREATE ANY DIRECTORY
privileges) 1)配置(以具有
CREATE ANY DIRECTORY
特权的用户身份登录)
create or replace directory YOUR_DIR_NAME as '/path/../';
grant read, write on directory YOUR_DIR_NAME to your_schema;
2) Convert xml to clob and save it. 2)将xml转换为clob并保存。
declare
v_xml_clob clob;
begin
select xmlserialize(document xmlelement("a", 'lalal') as clob) into v_xml_clob from dual;
Dbms_xslprocessor.CLOB2FILE(cl => x_xml_clob, flocation => 'YOUR_DIR_NAME', fname => 'somename.xml');
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.