plsql dbms_xmlgen.getxmltype更改xml标签格式

校准

我们一直在使用SQL Developer的数据库导出功能来创建一些数据转储文件。文件格式如下:

<?xml version='1.0'  encoding='Cp1252' ?>
<RESULTS>
  <ROW>
      <COLUMN NAME="A_ID"><![CDATA[3]]></COLUMN>
      <COLUMN NAME="B_ID"><![CDATA[A3V09LJAF]]></COLUMN>
  </ROW>
  <ROW>
      <COLUMN NAME="A_ID"><![CDATA[5]]></COLUMN>
      <COLUMN NAME="B_ID"><![CDATA[4FAPU90FSD]]></COLUMN>
  </ROW>
</RESULTS>

但是最近管理层决定自动化该过程,一种选择是使用假脱机:

SPOOL 'D:\SOME\PATH\TO\DIR\1.XML'
SELECT dbms_xmlgen.getxmltype('SELECT A_ID, B_ID FROM SOME_TABLE') FROM DUAL;
SPOOL OFF;

但是,dbms_xmlgen.getxmltype在导出的文件中提供了不同的标记类型:

 <ROWSET>
   <ROW>
     <A_ID>3</A_ID>
     <B_ID>A3V09LJAF</B_ID>
   </ROW>
   <ROW>
     <A_ID>5</A_ID>
     <B_ID>4FAPU90FSD</B_ID>
   </ROW>
 </ROWSET>

有没有一种方法可以更改TAG格式并添加CDATA,使其与SQL Developer导出文件完全相同?

感谢您的时间。

康纳·麦克唐纳

也许更简单的方法是使用SQLcl,它与SQL Developer具有相同的“引擎”。因此,在SQLcl中,您将执行此操作

SQL> SET SQLFORMAT XML
SQL> SELECT * FROM emp WHERE deptno = 20;
<?xml version='1.0'  encoding='UTF8' ?>
<RESULTS>
        <ROW>
                <COLUMN NAME="EMPNO"><![CDATA[7369]]></COLUMN>
                <COLUMN NAME="ENAME"><![CDATA[SMITH]]></COLUMN>
                <COLUMN NAME="JOB"><![CDATA[CLERK]]></COLUMN>
                <COLUMN NAME="MGR"><![CDATA[7902]]></COLUMN>
                <COLUMN NAME="HIREDATE"><![CDATA[17-DEC-80]]></COLUMN>
                <COLUMN NAME="SAL"><![CDATA[800]]></COLUMN>
                <COLUMN NAME="COMM"><![CDATA[]]></COLUMN>
                <COLUMN NAME="DEPTNO"><![CDATA[20]]></COLUMN>
        </ROW>

从这里下载SQLcl

https://www.oracle.com/au/tools/downloads/sqlcl-downloads.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

即使结果集为空,也可以使用DBMS_XMLGEN生成XML

PLSQL - REGEXP_SUBSTR 删除 XML 标签

从jdbc执行PLSQL后读取DBMS_Ouptut

如何在plsql上声明dbms输出变量?

通过标签和值将PLSQL XML插入表

使用 plsql 解析带有子节点的 XML 格式

格式选择plsql中的输出信息

用于自动更改列类型的 PLSQL 过程

plsql - 动态更改游标中的表名

如何在plsql中以json格式发送POST请求

什么是 plsql 中的 dbms_aw$_columnlist_t,它的用途是什么?

json 的 DBMS_XMLGEN.getxml(query) 的类似函数是什么

PLSQL-如何复制更改列首字符的行?

如何在Oracle PLSQL中验证XML文件

在PLSQL中使用名称空间解析嵌套的XML

如何选择与PLSQL中的值匹配的子XML?

如何在 PLSQL 中获取值 XML blob 类型?

PLSQL变量

如何更改xml文件中标签的格式?

Oracle PLSQL refcursor%ROWTYPE该表达式类型的声明不完整或格式错误

ORA-01861: PLSQL 中的文字与格式字符串不匹配错误

plsql 存储过程,输入参数 date_of_birth 作为 varchar 'DD-MM-YYYY' 格式

抛出ORA-01704的dbms_xmlgen.getxml语句:字符串文字太长

如何在 dbms_xmlgen.getxml 中添加 varchar 类型的 where 子句条件?

如何使用 PLSQL 将 VARCHAR2 更改为 NUMBER 数据类型

PLSQL:在不指定列的情况下将xml值插入表中

對於長度超過 32512 個字符的字符串,PLSQL Developer 中的 dbms_output.put_line 失敗並顯示 ORA-06502

Oracle PLSQL案例声明

PLSQL生成随机整数