Ho creato il mio DefaultHandler per analizzare i feed rss e per la maggior parte dei feed sta funzionando bene, tuttavia, per ESPN, sta tagliando parte dell'url di articolo a causa del modo ESPN formatta i suoi URL. Un esempio di un articolo di URL completo da ESPN ..parser SAX Android che non ottiene il testo completo tra i tag
http://sports.espn.go.com/nba/news/story?id=5189101&campaign=rss&source=ESPNHeadlines
Il problema è per qualche motivo il metodo di caratteri DefaultHandler sta ottenendo solo questo dal tag che contiene l'URL sopra.
http://sports.espn.go.com/nba/news/story?id=5189101
Come potete vedere, sta tagliando tutto dall'URL dal codice di escape e commerciale e dopo. Come posso ottenere il parser SAX per non tagliare la mia stringa in questo codice di escape? Per rif. qui è il mio metodo caratteri ..
public void characters(char ch[], int start, int length) {
String chars = (new String(ch).substring(start, start + length));
try {
// If not in item, then title/link refers to feed
if (!inItem) {
if (inTitle)
currentFeed.title = chars;
} else {
if (inLink)
currentArticle.url = new URL(chars);
if (inTitle)
currentArticle.title = chars;
if (inDescription)
currentArticle.description = chars;
if (inPubDate)
currentArticle.pubDate = chars;
if (inEnclosure) {
}
}
} catch (MalformedURLException e) {
Log.e("RSSReader", e.toString());
}
}
Rob W.
Ok, non mi sono davvero preso il tempo per capire appieno come funzionava il parser. Dopo aver letto la tua risposta sono tornato indietro e ho studiato ulteriormente per ottenere una migliore comprensione. Il tuo suggerimento è stato sicuramente il problema, da allora ho aggiornato il mio codice per gestire correttamente i dati dei caratteri. TY – brockoli
@CommonsWare: mancano alcuni personaggi? Lo sto affrontando nel mio caso. – Ankit
Ho image1: titolo nel mio xml e a volte ottengo il valore completo e talvolta ho solo "itle" o "Title". Ho provato a stampare valori ma non ha mai stampato "immagine1:" per valori parziali. –
Ankit