Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle क्वेरी में HTML डेटा को संभालना

एक 'संपूर्ण' क्वेरी की खोज करना एक खोया हुआ कारण हो सकता है; ब्राउज़र (पाठ ब्राउज़र सहित, जैसा कि कहीं और अनुशंसित है) ने सभी किंक और किनारे के मामलों को पूरा करने में वर्षों बिताए हैं।

यदि आप वास्तव में किसी बाहरी संसाधन का उपयोग नहीं कर सकते हैं तो आप dbms_xmldom के माध्यम से DOM पर चल सकते हैं पैकेट। यहां एक अनाम ब्लॉक और आपके नमूना मूल्य का उपयोग करके एक डेमो दिया गया है, जो स्क्रीन पर प्रिंट होता है (यदि आपने इसे सक्षम किया है); लेकिन आप इसे आसानी से एक ऐसे फ़ंक्शन में अनुकूलित कर सकते हैं जो एक सीएलओबी देता है, या जो कुछ भी आपको अंतिम परिणाम के रूप में चाहिए।

set serveroutput on
set define off

declare     
  l_element xmldom.domelement;
  l_document xmldom.domdocument;
  l_text clob;

  procedure print_node (p_node xmldom.domnode) is
    l_nodes dbms_xmldom.domnodelist;
  begin
    -- print out any plain text
    if dbms_xmldom.getnodetype(p_node) = 3
        and dbms_xmldom.getnodename(p_node) = '#text' then
      dbms_output.put_line(dbms_xmldom.getnodevalue(p_node));
    end if;
    -- just to match your expected output, add a blank line for p tags
    if dbms_xmldom.getnodetype(p_node) = 1
        and dbms_xmldom.getnodename(p_node) = 'p' then
      dbms_output.new_line;
    end if;
    -- get any child nodes
    l_nodes := dbms_xmldom.getchildnodes(p_node);
    -- process each node in turn, recursively
    for i in 0..dbms_xmldom.getlength(l_nodes) - 1 loop
      print_node(dbms_xmldom.item(l_nodes, i));
    end loop;
  end print_node;

begin           
  l_text := '<p>NAME:&nbsp;&nbsp;XXX<br />Company Name: &nbsp;YYYYY<br />Location:&nbsp;ZZZ, 22 Z1Z1Z1, Z2Z2Z2,Z3Z3Z3, 0000024, IND<br />Type:&nbsp;PrePA<br />Team:&nbsp;Team1, Dues tamble <br />Date:&nbsp;January 25 &ndash; 26, 2016<br />Rating: &nbsp;Tr 2<br />Number:&nbsp;8554342</p>
<p><u>Observ: <br /></u>There were (6) major and (2) minor .<br />&nbsp;<br />MAJOR</p><ul>    <li>Sample Text_1.</li>    <li>Sample Text_2.</li>    
<li>Sample Text_33.</li>    <li>Sample Text_4.</li>    <li>Sample Text_5.</li></ul><p>MINOR</p><ul>    <li>Sample Text_7</li>    
<li>Sample Text_8<br />    &nbsp;</li></ul><p><b> Background</b><br />&nbsp;</p>'; 

  -- wrap the fragment in a root node so it parses, and run through
  -- utl_i18n.unescape_reference to get rid of &nbsp; etc.
  l_document := dbms_xmldom.newdomdocument('<html>'
    || utl_i18n.unescape_reference(l_text) || '</html>');
  -- get the root element (which is now the added html)
  l_element := dbms_xmldom.getdocumentelement(l_document);
  -- call the recursive procedure to process this node
  print_node(dbms_xmldom.makenode(l_element));
end;
/

जो उत्पादन करता है:

NAME:  XXX
Company Name:  YYYYY
Location: ZZZ, 22 Z1Z1Z1, Z2Z2Z2,Z3Z3Z3, 0000024, IND
Type: PrePA
Team: Team1, Dues tamble 
Date: January 25 – 26, 2016
Rating:  Tr 2
Number: 8554342

Observ: 
There were (6) major and (2) minor .
 
MAJOR
Sample Text_1.
Sample Text_2.
Sample Text_33.
Sample Text_4.
Sample Text_5.

MINOR
Sample Text_7
Sample Text_8
     

 Background
 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle D2k फॉर्म 6i . में एक फॉर्म स्क्रीन को रिफ्रेश / अपडेट करना

  2. डेटाबेस कनेक्शन और क्वेरी कोड के साथ मदद चाहिए

  3. रेल मॉडलिंग:एचएबीटीएम को has_many में परिवर्तित करना:के माध्यम से

  4. पीएल/एसक्यूएल में स्ट्रिंग में अलग-अलग वर्णों की गिनती और नाम कैसे खोजें?

  5. रीयल टाइम में PL/SQL आउटपुट प्राप्त करें