Oracle PL/SQL调用XPath访问xml内容

PROCEDURE prc_保存配置(prm_data    in out long,
                         prm_appcode OUT NUMBER,
                         prm_error   OUT VARCHAR2) is

    xml    XMLType;
    v_str  VARCHAR2(1000);
    aClob  clob;
  begin
    prm_appcode := pkg_a_macro.def_ok;
    SELECT config INTO aClob FROM config WHERE config_id = 1;
    xml := XMLType.createXML(aClob);
    xml   := xml.extract('/config/modules/module[@id="104"]/item[@id="1"]/insure');
    v_str := xml.extract('/insure@code').getStringVal;
    DBMS_OUTPUT.PUT_LINE(trim(v_str));
  EXCEPTION
    WHEN OTHERS THEN
      prm_appcode := pkg_a_macro.def_err;
      prm_error   := ' 保存配置: ' || prm_error || '; ' || SQLERRM;
  end prc_保存配置; 

通过jdbc是无法保存XMLTYPE类型的。所以只能保存成clob,然后通过create从clob中创建XMLTYPE。

你可能感兴趣的:(Oracle PL/SQL调用XPath访问xml内容)