De topictitel beschrijft heel kort mijn probleem, ik ben voor mij irc botje een rss parser aan het mkane. Nou werkt hij met de tweakers.net feed, nou ging ik een ander proberen(festivalinfo), maar die ging iets minder goed. Het probleem is dat er bij de feed van t.net netjes enters zitten bij elke regel, maar de rss feed van festivalinfo 1 lange regel is.
tweakers.net rss feed: http://tweakers.net/feeds/mixed.xml
Festivalinfo rss feed: http://www.festivalinfo.nl/rss/AllinfoNewsRSS.xml
en dan niet de output van je browers checken maar de source
Nou heb kan ik natuurlijk 2 aparte parsers schrijven maar dat vind ik niet echt een nette oplossing, ik heb er liever 1 die allebei doet. Ik kan geen idee bedenken waarop dit makkelijk kan.
hier de code zo als die nu is:
Tempresult is een innerclass die tijdelijk de data bevat en response is een linkedlist met alle regels ouput.
Ik hoop dat iemand wel een idee heeft hoe dit netjes op te lossen want ik kom er echt ff niet uit
tweakers.net rss feed: http://tweakers.net/feeds/mixed.xml
Festivalinfo rss feed: http://www.festivalinfo.nl/rss/AllinfoNewsRSS.xml
en dan niet de output van je browers checken maar de source
hier de code zo als die nu is:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| boolean inItem = false; TempResult t = null; for (String s : response) { System.out.println(s); if (s.indexOf("<item>") > 0) { //start of item inItem = true; t = new TempResult(); } else if (inItem && (s.indexOf("<title>") > 0)){ t.setTitle(s.substring(s.indexOf("<title>") + 7, s.indexOf("</title>") - 1)); } else if (inItem && (s.indexOf("<link>") > 0)){ t.setLink(s.substring(s.indexOf("<link>") + 6, s.indexOf("</link>") - 1)); } else if (inItem && (s.indexOf("<description>") > 0)) { t.setDescription(s.substring(s.indexOf("<description>") + 13, s.indexOf("</description>") - 1)); } else if (inItem && (s.indexOf("</item>") > 0)){ inItem = false; System.out.println(t);//debug break; } } |
Tempresult is een innerclass die tijdelijk de data bevat en response is een linkedlist met alle regels ouput.
Ik hoop dat iemand wel een idee heeft hoe dit netjes op te lossen want ik kom er echt ff niet uit
[ Voor 11% gewijzigd door Sv3n op 06-02-2006 19:31 ]