首页 > 解决方案 > 使用 PL/SQL 将 XML 文件拆分成小块

问题描述

我有下面的 PLSQL 块将大型 XML 文件拆分成小块。它可以完美地拆分,但 xml 验证失败,因为它在导致问题的 xml 标记之间分开。任何建议在每个标签结束后拆分?

我也尝试逐行打印,效果很好,但过程很耗时。

-- print CLOB using dbms_output in smaller chunks
  procedure print_clob( v_clob in clob ) is
    v_off number := 1;
    v_cnk_size number := 10000;
  begin
    loop
      exit when v_off > dbms_lob.getlength(v_clob);
      dbms_output.put_line( dbms_lob.substr( v_clob, v_cnk_size, v_off ) );
      v_off := v_off + v_cnk_size;
    end loop;
  end print_clob;

标签: xmlplsql

解决方案


似乎DBMS_OUTPUT.PUT_LINE在你的块的末尾放了一个换行符,因此标​​签不合适。

请尝试DBMS_OUTPUT.PUT在末尾不添加默认换行符。


推荐阅读