首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbms_xmldom -从oracle数据库创建xml

dbms_xmldom -从oracle数据库创建xml
EN

Stack Overflow用户
提问于 2017-02-22 19:13:17
回答 1查看 772关注 0票数 0

我正在尝试从oracle数据库创建一个xml文件。

我无法得到正确的格式,我想知道我是否可以得到一些帮助。

这是脚本的一部分:

代码语言:javascript
复制
l_record_element := dbms_xmldom.createElement(l_domdoc, 'record_type');
dbms_xmldom.setAttribute(l_record_element,'desc', r_dept.public1);
l_record_node := dbms_xmldom.appendChild(l_dept_node,dbms_xmldom.makeNode(l_record_element));

我的产出:

代码语言:javascript
复制
<record_type desc="Public"/>

我需要的输出:

代码语言:javascript
复制
<record_type desc="Public">PUBLIC</record_type>

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 19:52:47

您需要创建并附加一个具有PUBIC值的文本节点。

演示显示来自提供记录类型的同一个游标:

代码语言:javascript
复制
set serveroutput on

declare
  l_domdoc dbms_xmldom.domdocument;
  l_dept_node dbms_xmldom.domnode;
  l_record_node dbms_xmldom.domnode;
  l_record_element dbms_xmldom.domelement;
  l_record_text dbms_xmldom.domtext;
  l_tmp_node dbms_xmldom.domnode;
  l_xmltype xmltype;
  l_buffer varchar2(32767);
begin
  l_domdoc := dbms_xmldom.newDOMDocument; --(xmltype('<data />'));

  for r_dept in (select 'Public' as public1, 'PUBLIC' as public2 from dual) loop
    l_dept_node := dbms_xmldom.makeNode(l_domdoc);

    -- code you showed
    l_record_element := dbms_xmldom.createElement(l_domdoc, 'record_type');
    dbms_xmldom.setAttribute(l_record_element,'desc', r_dept.public1);
    l_record_node := dbms_xmldom.appendChild(l_dept_node, dbms_xmldom.makeNode(l_record_element));
    -- add a text node
    l_record_text := dbms_xmldom.createTextNode(l_domdoc, r_dept.public2);
    l_tmp_node := dbms_xmldom.appendChild(l_record_node, dbms_xmldom.makeNode(l_record_text));

    -- display the node for demo
    l_xmltype := dbms_xmldom.getXmlType(l_domdoc);
    dbms_xmldom.freeDocument(l_domdoc);
    dbms_output.put_line(l_xmltype.getClobVal);
  end loop;
end;
/

<record_type desc="Public">PUBLIC</record_type>

PL/SQL procedure successfully completed.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42400293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档