Quote Originariamente inviata da unicadani Visualizza il messaggio
Ma ci sono file xml che sono composti in modo diverso come ad esempio questo:
codice:
<item>
    <title>Borse, Piazza Affari in rialzo. Male Wall Street e Francoforte. Euro giù</title>
    <link>http://feeds.ilsole24ore.com/...</link>
     <description><b> <font color="#000000">Sul mercato obbligazionario lo spread BTp-Bund si conferma sopra i 130 punti...</font></description>
<pubDate>Tue, 26 May 2015 14:15:14 GMT</pubDate>
Innanzitutto il contenuto di questo description non è testo "puro" ma si vede bene che ci sono tag HTML.

Il problema principale è il tuo characters. Giusto per precisare, il characters non necessariamente viene invocato una volta sola con tutto il contenuto testuale di un tag. Il parser è libero di spezzare il testo e invocare più volte il metodo characters passando gli spezzoni uno per volta.
Questo in sostanza vuol dire che in characters non è corretto "settare" subito qualcosa. Dovresti accodare ad un buffer e poi quando hai il tag di chiusura (es. </description>) allora fai qualcosa per settare i dati.

Una volta che hai il testo completo di un tag, eliminare il markup HTML è facile con una (unica!) regex.