Je suis en train d'assembler un document XML à partir de plusieurs pièces. Pour obtenir les données, j'ai eu plusieurs requêtes dont les résultats étaient XMLTypes.pl/sql: conversion de xmltype en noeud
J'ai trouvé une fonction nommée getNodeFromFragment
dans le paquetage xmldom qui semblait pouvoir prendre ces types XMLTypes et renvoyer un DOMNode qui les contenait, mais cela ne semble pas fonctionner.
exemple simple ici:
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;
/
l'élément d'impression <test/>
fonctionne très bien, mais lorsque je tente d'imprimer le fragment comme un nœud, rien est sortie.
Des conseils sur getNodeFromFragment?
Yay! Ça marche! Bien que maintenant je doive fusionner ce document avec un document existant. Essayer me donne "les noeuds DOM n'appartiennent pas au même document DOM". – FrustratedWithFormsDesigner