Database 为Oracle中没有根元素的clob创建xml根元素
通过在游标上进行迭代,我创建了一个CLOB,它具有以下xml格式。假设Database 为Oracle中没有根元素的clob创建xml根元素,database,oracle,plsql,Database,Oracle,Plsql,通过在游标上进行迭代,我创建了一个CLOB,它具有以下xml格式。假设l_tot_clobclob包含以下内容: <a row="1"> <b>test</b> <a> <a row="2"> <b>test</b> </a> 我对retrunl\u return\u clob的期望是: <Record> <a row="1"> <b>test</b&
l_tot_clob
clob包含以下内容:
<a row="1">
<b>test</b>
<a>
<a row="2">
<b>test</b>
</a>
我对retrunl\u return\u clob的期望是:
<Record>
<a row="1">
<b>test</b>
<a>
<a row="2">
<b>test</b>
</a>
</Record>
测试
测试
但正如我假设的那样,由于l_tot_clob
没有父元素,因此在我尝试创建根元素作为记录时,它给出了以下错误:
fdm_ttwof_pkg.main_prc-异常-ORA-31011:XML解析失败
ORA-19202:XML处理中出错LPX-00245:额外数据
文件结束后
在这种情况下,如何将Record元素添加为根元素。如果您只需要将xml封装在。
,而xml是CLOB,那么为什么不简单地将'
和'
字符串连接起来呢
DECLARE
v_clob CLOB;
v_clob_with_root CLOB;
v_xml xmltype;
BEGIN
v_clob := '
<a row="1">
<b>test</b>
<a>
<a row="2">
<b>test</b>
</a>';
v_clob_with_root := '<Record>' || v_clob_with_root || '</Record>';
v_xml := xmltype(v_clob_with_root); -- no errors, XML is correct
END;
声明
v_clob clob;
v_clob_与_根clob;
v_xml-xmltype;
开始
v_clob:='
测试
测试
';
带|根的v|clob|u:=“带|根的v|clob|”;
v_xml:=xmltype(带根的v_clob_);--没有错误,XML是正确的
结束;
DECLARE
v_clob CLOB;
v_clob_with_root CLOB;
v_xml xmltype;
BEGIN
v_clob := '
<a row="1">
<b>test</b>
<a>
<a row="2">
<b>test</b>
</a>';
v_clob_with_root := '<Record>' || v_clob_with_root || '</Record>';
v_xml := xmltype(v_clob_with_root); -- no errors, XML is correct
END;