Как я могу разобрать это с помощью jsoup?Разбор с Jsoup в arraylist
<!-- NOVINEEE -->
<div class="right_naslov"><a href="/e-novine">e-novine</a></div>
<div class="right_post">
<span class="right_post_nadnaslov"><font class="nadnaslov">Zanimljiv zadatak</font></span><span class="right_post_datum"><font class="datum">12.12.2014.</font></span>
<span class="right_post_naslov_v"><font class="naslov"><a href="/e-novine/n/?id=340">Profesor učenicima zadao najbolji zadatak ikad!</a></font></span>
<span class="right_post_podnaslov"><font class="podnaslov"></font></span>
<div class="right_post_tekst"><a href="/e-novine/n/?id=340"><img width="180" align="left" class="novine_slika_thumbm" border="0" src="/fajlovi/slike/thumbm/4161-zadatak_naslovna.jpg" /></a><p>72-godišnji profesor bivšim učenicima iz godine u godinu šalje pisma što nije lak zadatak jer mnogi ne žive u istoj državi. Iako radi nešto stvarno posebno, Bruce sebe i dalje smatra prosječnim profesorom. Učenici ipak smatraju suprotno...</p>
<div> </div></div>
</div>
</div>
Я хотел бы получить содержание right_naslov, а внутри класса шрифта nadnaslov, naslov, и IMG SRC и A HREF из right_post_tekst.
Я пытался сделать что-то вроде этого:
Document doc = Jsoup.connect(url).get();
Elements post = doc.select("right_naslov right_post nadnaslov");
HashMap<String, String> map = new HashMap<String, String>();
map.put("rank", post.text());
// Get the second td
map.put("country", post.text());
// Get the third td
map.put("population", post.text());
// Set all extracted Jsoup Elements into the array
arraylist.add(map);
А потом я:
resultp = data.get(position);
// Locate the TextViews in listview_item.xml
rank = (TextView) itemView.findViewById(R.id.rank);
country = (TextView) itemView.findViewById(R.id.country);
population = (TextView) itemView.findViewById(R.id.population);
// Capture position and set results to the TextViews
rank.setText(resultp.get(PocetnaFragment.RANK));
country.setText(resultp.get(PocetnaFragment.COUNTRY));
population.setText(resultp.get(PocetnaFragment.POPULATION));
Я после этого учебника: http://www.androidbegin.com/tutorial/android-jsoup-listview-images-texts-html-tables-tutorial/
Есть несколько right_posts
Благодаря
UPDATE
Получение следующей ошибки после ответа, расположенного вниз (после всех комментариев):
02-14 23:50:17.490 2469-2530/gimbi.edu.ba W/System.err﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'org.jsoup.select.Elements org.jsoup.nodes.Element.select(java.lang.String)' on a null object reference
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at gimbi.edu.ba.PocetnaFragment$JsoupListView.doInBackground(PocetnaFragment.java:147)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at gimbi.edu.ba.PocetnaFragment$JsoupListView.doInBackground(PocetnaFragment.java:103)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-14 23:50:17.494 2469-2530/gimbi.edu.ba W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
02-14 23:50:46.713 2469-4859/gimbi.edu.ba W/System.err﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'org.jsoup.select.Elements org.jsoup.nodes.Element.select(java.lang.String)' on a null object reference
02-14 23:50:46.718 2469-4859/gimbi.edu.ba W/System.err﹕ at gimbi.edu.ba.PocetnaFragment$JsoupListView.doInBackground(PocetnaFragment.java:147)
02-14 23:50:46.718 2469-4859/gimbi.edu.ba W/System.err﹕ at gimbi.edu.ba.PocetnaFragment$JsoupListView.doInBackground(PocetnaFragment.java:103)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at android.os.AsyncTask$2.call(AsyncTask.java:288)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-14 23:50:46.719 2469-4859/gimbi.edu.ba W/System.err﹕ at java.lang.Thread.run(Thread.java:818)
Как я уже говорил там, я попытался удалить img element
, но он одинаковый для всех элементов, когда я вызываю map.put
методов.
Существует несколько разделов с правом названия.Я попробовал обернуть его в функцию for, он возвращает в виде двух отдельных элементов представления списка, но у него есть все возможные права_post_nadnaslov и только один href (aEle). Как я могу заставить их казаться отдельными? Вот что я пытался сделать: http://pastebin.com/ZZse378K – dinomuharemagic
Ответ обновлен. –
Я заменил «input» и «doc.output», потому что «я ничего не мог импортировать, я заменил его на« Document doc = Jsoup.connect (url) .get(); »И я получаю следующую ошибку: http: //pastebin.com/6DH8iCxV, и он ссылается на ListViewAdapter (следующие строки): '@Override public int getCount() { return data.size(); } ', вот мой ListViewAdapter.java: http://pastebin.com/cZtsrDpL – dinomuharemagic