estou a tentar fazer uma aplicação para aceder a um feed e listar a informação lá contida.
Neste momento, consigo aceder ao feed e listar a informação inicial, que esta neste meu esquema abaixo, até às reticencias
<chanel>
<title></title>
<link></link>
........
<image></image>
<item></item>
<item></item
......
</chanel
o fedd é http://feeds.jn.pt/JN-GENTE, e como podem verificar as noticias estão todas dentro do tag item, onde eu não consigo aceder.
Abaixo segue o código que faz a ligação, e que lista a informação.
Tem também uns logs, um pouco estupidos mas que servem para eu tentar perceber o andamento da coisa.
Alguém pode ajudar?
Obrigado.
try { URL url = new URL("[url="http://feeds.jn.pt/JN-GENTE"]http://feeds.jn.pt/JN-GENTE[/url]"); XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(false); XmlPullParser xpp = factory.newPullParser(); xpp.setInput(url.openConnection().getInputStream(), null); boolean insideItem = false; int eventType= xpp.getEventType(); Log.d("teste", "chegou ao while"); int xpto = 0; while ((eventType != XmlPullParser.END_DOCUMENT) ) { Log.d("teste", "dentro do while"); if(eventType == XmlPullParser.START_TAG) { Log.d("teste", " XmlPullParser.START_TAG"); if (xpp.getName().equalsIgnoreCase("item")) { insideItem= true; Log.d("item", "dentro do item"); } else if (xpp.getName().equalsIgnoreCase("title")) { if (insideItem) headlines.add(xpp.nextText()); Log.d("title", xpp.nextText()); Log.d("title","" + xpp.nextTag()); } else if (xpp.getName().equalsIgnoreCase("link")) { if(insideItem) links.add(xpp.nextText()); Log.d("link", "link: " + xpp.nextText()); } else if (xpp.getName().equalsIgnoreCase("description")) { if (insideItem) links.add(xpp.nextText()); Log.d("description", "descrição:" + xpp.nextText()); } } else if (eventType==XmlPullParser.END_TAG ) { insideItem=false; Log.d("teste", "end_tag"); } eventType=xpp.next(); Log.d("teste", "passa para o proximo. xpto=" + xpto); xpto++; }
Editado por Galaxy, 22 July 2012 - 20:01.