xml - pl/sql : converting xmltype to node

标签 xml oracle plsql xmldom

我正在尝试将多个部分组合成一个 XML 文档。为了获取数据,我进行了几次查询,其结果都是 XMLType。

我找到了一个名为 getNodeFromFragment 的函数在 xmldom 包中,看起来它可以获取这些 XMLType 并返回包含它们的 DOMNode,但它似乎不起作用。

这里是简单的例子:

set serveroutput on;
declare
    node xmldom.DOMNode;
    node2 xmldom.DOMNode;
    doc_node xmldom.DOMNode;
    doc xmldom.DOMDocument;
    el xmldom.DOMElement;
    buf varchar2(1000);
begin
    doc := xmldom.newDOMDocument;

    el := xmldom.createElement(doc => doc, tagName => 'test');
    node := xmldom.makeNode(elem => el);

    xmldom.writeToBuffer(node, buf);
    dbms_output.put_line('buffer: '||buf);

    node := dbms_xmldom.getNodeFromFragment(XMLType('<outer><inner>soemthing</inner><inner>somethingelse</inner></outer>'));

    xmldom.writeToBuffer(node, buf);
    dbms_output.put_line('buffer: '||buf);
end;

/

打印<test/>元素工作正常,但是当我尝试将片段打印为节点时,没有任何输出。

关于 getNodeFromFragment 有什么技巧吗?

最佳答案

您好,FrusteratedWithFormsDesigner,

以下将从 XMLType 创建 DOMnode 对象:

node := dbms_xmldom.makenode(dbms_xmldom.newDOMDocument(XMLType(
     '<outer><inner>soemthing</inner><inner>somethingelse</inner></outer>')));

这将输出:

buffer: <outer>
  <inner>soemthing</inner>
  <inner>somethingelse</inner>
</outer>

关于xml - pl/sql : converting xmltype to node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1834066/

相关文章:

sql - 在选择查询中使用别名

sql - 如何从 Oracle 过程返回填充有 NESTED RECORD 类型的游标

oracle - JDBC 批量插入 Oracle 不工作

sql - RESTRICT_REFERENCES 和触发器

oracle - 截断存储过程中的表

java - jaxb:意外元素(uri :"",本地 :"head")- 没有 "head"元素

xml - xsl中字符串的初始数字部分或整数部分

xml - XSL 如何避免 NaN

android - 使用Scrolling View做xml布局,如何做出时尚的xml布局设计?

mysql - 时间间隔查询返回空闲时间?