Database 为Oracle中没有根元素的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&

通过在游标上进行迭代,我创建了一个CLOB,它具有以下xml格式。假设
l_tot_clob
clob包含以下内容:

<a row="1">
 <b>test</b>
<a>
<a row="2">
 <b>test</b>
</a>
我对retrun
l\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;