我试图使用PL / SQL包<?xml ....?>
在XML文档的开头获取行dbms_xmldom
。这是迄今为止的代码
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;
输出结果为:
<root/>
期望值:
<?xml version="1.0" encoding="UTF-8"?>
<root/>
关于如何做到这一点的任何指示都会变得很棒。
答案 0 :(得分:2)
仅供记录 - 这是您需要添加的内容
dbms_xmldom.setVersion(l_dom, '1.0" encoding="UTF-8');
创建文档后
答案 1 :(得分:0)
prolog通常是通过XML序列化自动添加的,因此您不需要自己添加它,但如果您愿意,可以使用XMLRoot。
生成XML的方法效率很低。您应该查看XMLElement,XMLForest,XMLAgg等。
这是一个简单的根和子示例,在一行代码中使用prolog。
select XMLRoot(XMLElement("root", XMLElement("child", 12)), version '1.0') from dual
<?xml version="1.0"?>
<root>
<child>12</child>
</root>