Separar um texto entre <body> e </body> de um HTML

Srs,

A String abaixo está sendo gerada automaticamente por um JTextPane pelos usuários do meu sistema. Esta String é uma personalização do cabeçalho de um e-mail.

Portanto, preciso apenas do conteúdo entre <body> e </body>, pensei em fazer usando expressões regulares, cortando a string nos pontos chave, mas gostaria de saber se alguem sabe se o JTextPane (ou alguma das interfaces usadas) já existe isso pronto.

Obrigado.

&lt;html&gt;
  &lt;head&gt;

  &lt;/head&gt;
  &lt;body&gt;
    <p >
      <b><font size="7">Omega</font></b><font size="7"> </font><font size="7" color="#999999">C&#243;digos
</font>    </p>
    <p >
      <b><font size="4" face="Arial" color="#0033ff">Desenvolvimento de 
      Software</font><font size="5" color="#999999">
</font></b>    </p>
    <p >
      Setor de Tecnologia da Informa&#231;&#227;o
    </p>
  &lt;/body&gt;
&lt;/html&gt;

Olha, eu sei que parece uma solução não muito atraente, mas pra evitar ficar fazendo regex e cia, eu sugiro fazer algo com XML.

  • Leia esse texto como se fosse XML
  • Use uma expressão XPath
  • Done!

Ou então tu pode tentar fazer isso

jTextPane.getDocument().getText(0, jTextPane.getDocument().getLength()) );

mas pelo que ví, ele perde os “line-breaks” :frowning:

Oi, Obrigado pela resposta.

Mas eu resolvi fazer atraves de regexp mesmo.

valeu!