I'll use that PL/SQL :)
DECLARE
v_file UTL_FILE.FILE_TYPE;
v_text CLOB;
v_buffer VARCHAR2(32767);
v_amount PLS_INTEGER := 32767;
v_pos PLS_INTEGER := 1;
BEGIN
FOR rec IN (SELECT doc_id, doc_text FROM votre_table) LOOP
-- create file
v_file := UTL_FILE.FOPEN('EXPORT_DIR', rec.doc_id || '.xml', 'W');
v_text := rec.doc_text;
v_pos := 1;
-- write
WHILE v_pos <= DBMS_LOB.GETLENGTH(v_text) LOOP
v_buffer := DBMS_LOB.SUBSTR(v_text, v_amount, v_pos);
UTL_FILE.PUT_LINE(v_file, v_buffer);
v_pos := v_pos + v_amount;
END LOOP;
-- close it
UTL_FILE.FCLOSE(v_file);
END LOOP;
END;
/
I'll test it...it should work