Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Maybe this can give you a start (it's not perfect, I know...)</p> <pre><code>declare xl clob := '&lt;soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt; &lt;soapenv:Body&gt; &lt;ns1:getBlock soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://diamondip.com/ipcontrol/ws/"&gt; &lt;getBlockByIpAddressReturn href="#id0"/&gt; &lt;/ns1:getBlock&gt; &lt;multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:WSGenericBlock" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://service.ipcontrol.diamondip.com"&gt; &lt;tag1 href="#id1"/&gt; &lt;tag2 soapenc:arrayType="soapenc:string[1]" xsi:type="soapenc:Array"&gt; &lt;item xsi:type="soapenc:string"&gt;Container1&lt;/item&gt; &lt;/tag2&gt; &lt;tag3 xsi:type="xsd:dateTime"&gt;2013-02-01T06:45:32.000Z&lt;/tag3&gt; &lt;tag4 soapenc:arrayType="soapenc:string[4]" xsi:type="soapenc:Array"&gt; &lt;item xsi:type="soapenc:string"&gt;uf1=221805&lt;/item&gt; &lt;item xsi:type="soapenc:string"&gt;uf2=34531&lt;/item&gt; &lt;/tag4&gt; &lt;tag5 href="#id2"/&gt; &lt;/multiRef&gt; &lt;multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:boolean" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"&gt;false&lt;/multiRef&gt; &lt;multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" lowestSetBit="3" xsi:type="soapenc:integer" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"&gt;8&lt;/multiRef&gt; &lt;/soapenv:Body&gt; &lt;/soapenv:Envelope&gt;'; v_parser Xmlparser.Parser; v_doc XMLDOM.DOMDocument; v_nl XMLDOM.DOMNodeList; v_att varchar2(300); v_refId varchar2(300); v_val varchar2(300); begin v_parser := Xmlparser.newParser; xmlparser.setValidationMode(v_parser, TRUE); Xmlparser.parseClob(v_parser, xl); v_doc := Xmlparser.getDocument(v_parser); v_nl := xslprocessor.selectNodes(XMLDOM.makeNode(v_doc), '//tag1'); v_att := XMLDOM.getAttribute((XMLDOM.makeElement(XMLDOM.item(v_nl, 0))), 'href'); v_refId := substr(v_att, 2); v_nl := xslprocessor.selectNodes(XMLDOM.makeNode(v_doc), '//multiRef[@id="' || v_refId || '"]'); v_val := XMLDOM.getNodeValue(XMLDOM.getFirstChild(XMLDOM.item(v_nl, 0))); dbms_output.put_line(v_val); end; </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload