title: Parsing HTML table in Oracle is not working
body: <p>I had tried to Parse a HTML table in oracle and try to extract the data inside it using the query</p>
  
  <pre><code>with tbl as
  (
      select xmltype('&lt;table class="table table-striped " border=''1''&gt;
   &lt;caption&gt;ACO Details&lt;/caption&gt;
   &lt;tr&gt;&lt;th&gt;&lt;b&gt;Record&lt;/b&gt;&lt;/th&gt;&lt;th&gt;&lt;b&gt;Changed ACO(s)&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Added   ACO&lt;/td&gt;&lt;td&gt;TDE&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
   &lt;br&gt;
   &lt;table style=''width:60%;'' border=''1''&gt;
   &lt;caption&gt;Price Breakdown&lt;/caption&gt;
   &lt;tr style=''background-color: darkgray;text-align:right;''&gt;
   &lt;th style=''width:50%;text-align: center;''&gt;&lt;b&gt;Price&lt;/b&gt;&lt;/th&gt;
   &lt;th style=''width:30%;text-align: center;''&gt;&lt;b&gt;Difference&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Base Price&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Extras Price&lt;/td&gt;&lt;td style=''text-align:right;''&gt;43.98&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Total Discount&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Medical Price&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Postage&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Admin Fee&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Transaction Fee&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Auto Renewal Adjustment&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Stamp Duty&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Competitor Price Matching Discount&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Charge Adjustment&lt;/td&gt;&lt;td style=''text-align:right;''&gt;0.00&lt;/td&gt;&lt;/tr&gt;
   &lt;tr&gt;&lt;td&gt; Total Price&lt;/td&gt;&lt;td style=''text-align:right;''&gt;43.98&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
   &lt;br/&gt;
   &lt;table style=''width:60%;'' border=''1''&gt;
   &lt;caption&gt;Reason&lt;/caption&gt;&lt;tr&gt;&lt;td&gt;Change Done in Web&lt;/td&gt;&lt;/tr&gt;
   &lt;/table&gt;
   &lt;br/&gt;') xml_data from dual
  )
  select
      x.class, x.caption
  from
      tbl
  cross join
      xmltable('/table/caption/tr'
          passing tbl.xml_data
          columns
              class varchar2(10) path '@class',
              caption varchar2(3) path 'caption[1]'
      ) x
  where
      x.caption is not NULL;
  </code></pre>
  
  <p>but this throws the error</p>
  
  <pre><code>ORA-31011: XML parsing failed
  ORA-19202: Error occurred in XML processing
  LPX-00245: extra data after end of document
  Error at line 5
  ORA-06512: at "SYS.XMLTYPE", line 310
  ORA-06512: at line 1
  </code></pre>
  
  <p>Can someone please point me what I am doing wrong</p>