質問

私はいくつかの部品からXMLドキュメントを一緒に入れしようとしています。データを取得するには、私は、その結果のXMLTypeたいくつかのクエリを持っています。

私はそれがこれらのXMLTypeを取り、それらを含まDOMNodeをを返すことができるように見えたXMLDOMパッケージにgetNodeFromFragmentという名前の関数を見つけたが、動作するようには思えません。

ここでは簡単な例:

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上の任意のヒント?

役に立ちましたか?

解決

こんにちはFrustratedWithFormsDesigner、

以下は、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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top