首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dbms_xmldom -如何获得<?xml标记

dbms_xmldom -如何获得<?xml标记
EN

Stack Overflow用户
提问于 2016-12-22 11:23:54
回答 2查看 844关注 0票数 1

我正在尝试使用PL/SQL <?xml ....?>在XML文档的开头获取行dbms_xmldom。这是目前为止的代码

代码语言:javascript
复制
declare
  l_dom   dbms_xmldom.DOMDocument;
  l_clob  clob;
  l_node  dbms_xmldom.DOMNode;

begin
  l_dom := dbms_xmldom.newDomDocument;
  l_node := dbms_xmldom.makeNode(l_dom);

  l_node := dbms_xmldom.appendChild(l_node, 
              dbms_xmldom.makeNode(
                dbms_xmldom.createElement(l_dom, 'root')
              )
            );

  dbms_lob.createtemporary(l_clob, true);

  dbms_xmldom.writeToClob(l_dom, l_clob);
  dbms_output.put_line(l_clob);
end;

产出如下:

代码语言:javascript
复制
<root/>

预期:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<root/>

任何关于如何做这件事的建议都会变得很棒。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-22 11:41:47

为了记录下-这里是你需要添加的

代码语言:javascript
复制
dbms_xmldom.setVersion(l_dom, '1.0" encoding="UTF-8');

在创建文档之后

票数 2
EN

Stack Overflow用户

发布于 2016-12-22 13:52:30

prolog通常是通过XML序列化自动添加的,因此您不需要自己添加它,但是如果您愿意,可以使用XMLRoot添加它。

生成XML的方法效率很低。你应该看看XMLElement,XMLForest,XMLAgg等。

下面是一个简单的根和子示例,在一行代码中使用prolog。

代码语言:javascript
复制
select XMLRoot(XMLElement("root", XMLElement("child", 12)), version '1.0') from dual

<?xml version="1.0"?>
<root>
  <child>12</child>
</root>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41282030

复制
相关文章

相似问题

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