如何将XML类型数据转换为Raw类型数据

时间:2017-05-15 13:03:26

标签: plsql plsqldeveloper

我正在研究一些我必须将XML类型数据转换为Raw的东西,但我没有得到它。 我已经尝试将XML数据转换为varchar2然后使用Cast_to_raw但它显示十六进制到原始转换错误。请告诉我怎么做。

1 个答案:

答案 0 :(得分:0)

示例描述了从xmltype到blob元素的转换。如果必须获取原始值,请执行dbms_substr。

declare   
   dest_offset   integer;
   src_offset    integer;
   lang_context  integer;
   warning       varchar2(1000);
   v_xml_object   xmltype;
   v_blob           blob; 
   v_clob       clob;
begin
   --get example xmltype
   select dbms_xmlgen.getXmlType('select * from user_objects where rownum < 10') into v_xml_object from dual;
   --convert xmltype to clob
   v_clob := v_xml_object.getClobVal();   
   --initi variable
   dbms_lob.createtemporary(v_blob, FALSE); 
   dest_offset := 1;
   src_offset := 1;
   lang_context := 0;
   -- convert to a BLOB here:
   dbms_lob.converttoblob( v_blob, v_clob,    dbms_lob.getlength( v_clob ), dest_offset, src_offset, 0, lang_context, warning );
   dbms_output.put_line(warning);
   dbms_output.put_line(dbms_lob.substr(v_blob,length(v_blob)));
end;