title: Automatic way for parsing tags inside CDATA with Jsoup without replace
body: <p>I'm reading information from a RSS that store on <code>description</code> tag HTML code, it isn't text plain. I need to extract some information like the first image would appear but I can't do it because all tags that are inside <code>description</code> aren't parsed by Jsoup I suppose by the behaviour of CDATA element. </p>
  
  <p>On my question I referer to "Automatic way" <strong>because I saw on other question published here that I would use <code>.replace()</code> to remove CDATA but it does not seem me an effective solution as I think it would serve to specific cases, not for universal purpose</strong>. So my question is if there is a way to Jsoup make that parse without replacing text by me? Is this the only way that exists? I should use other library?</p>
  
  <p>For example, when I parsed the RSS document, the node description has this:</p>
  
  <pre><code>&amp;lt;table width='100%' border='0' cellspacing='0' cellpadding='4'&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align='left' width='10'&amp;gt;&amp;lt;
  a href='http://www.3djuegos.com/noticia/145062/0/bioware-nuevo-juego-ip/video-gamescom/trailer/'&amp;gt;&amp;lt;img src='http://i11c.3djuegos.com/juegos/7332/dragon_age_iii/fotos/noticias/dragon_age_iii-2583054.jpg' border='0' width='70' height='52' /&amp;gt;
  &amp;lt;/a&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td align='left' valign='top'&amp;gt;Parece ser una nueva licencia creativa, seg&amp;uacute;n lo visto en un enigm&amp;aacu
  </code></pre>
  
  <p>All special chars "&lt;>" are scaped because CDATA works so. The rest of document is <strong>well parsed</strong> only happens with CDATA content.</p>
  
  <p>The code that I use to access:</p>
  
  <pre><code>doc = Jsoup.connect("http://www.3djuegos.com/universo/rss/rss.php?plats=1-2-3-4-5-6-7-34&amp;tipos=noticia-analisis-avance-video-imagenes-demo&amp;fotos=peques&amp;limit=20").get();
  System.out.println(doc.html()); // Shows the document well parsed.
  
  Elements nodes = doc.getElementsByTag("item"); // Access to news
  for(int i = 0; i &lt; nodes.size(); i++){ // Loop all news
  
      // Description node
      Element decriptionNode = nodes.get(i).getElementsByTag("description").get(0);
  
      // Shows content of node. Here is where HTML tags are escaped
      System.out.println(nodes.get(i).getElementsByTag("description").html()); // Here prints the content of description tag and all HTML tags are escaped by default
  
      // Access to first image and here fails because of description text is escaped
      // and then Jsoup cant parsed as nodes
      Element imageNode = descriptionNode.getElementsByTag("img").get(0);
  }
  </code></pre>
  
  <p>Edit: I use <code>doc.outputSettings().escapeMode(EscapeMode.xhtml)</code> but I suppose that it doesn't affect to CDATA content.</p>
  
  <p>Edit2: I use as workaround the library <code>org.apache.commons.lang3.StringEscapeUtils</code> that lets unescape html but I'm still thinking about if Jsoup has already something to this scenario.</p>