我在做RSS阅读器,我需要你的帮助。我正在解析一个xml文件并获取标签的下一个内容
<p>
<img class="alignright size-full wp-image-115203" alt="10 мероприятий, которые можно посетить в марте" src="http://ain.ua/wp-content/uploads/2013/03/secr2011-nov1-300x200.jpg" width="300" height="200" title="10 мероприятий, которые можно посетить в марте"
/>Предлагаем вашему вниманию небольшой список ИТ мероприятий марта, которые пройдут в Украине. В нашем
<a href="http://ain.ua/events">календаре мероприятий</a>, вы можете найти еще больше мероприятий, которые мы рекомендуем вам к посещению.</p>
<ol>
<li>
<a href="http://ain.ua/event/seminar-kpi-motivaciya-sistema-oplaty-po-rezultatu">Семинар “KPI-Мотивация. Система оплаты по результату”</a>
</li>
<li>
<a href="http://ain.ua/2013/03/04/114970">Бесплатный семинар об организации системы внутренних коммуникаций и мотивации сотрудников</a>
</li>
<li>
<a href="http://ain.ua/event/targetirovaniya-reklamnyx-kampanij-po-celevym-auditoriyam">Круглый стол «Возможности таргетирования рекламных кампаний по целевым аудиториям»</a>
</li>
<li>
<a href="http://ain.ua/event/kak-zastavit-sajt-prodavat-bolshe">Бесплатный вебинар «Как заставить сайт продавать больше?»</a>
</li>
<li>
<a href="http://ain.ua/event/6-j-seminar-effektivnyj-internet-marketing-dlya-biznesa">6-й семинар «Эффективный интернет-маркетинг для бизнеса»</a>
</li>
<li>
<a href="http://ain.ua/event/internet-marketing-2013">Всеукраинский Форум «Дни Интернет-маркетинга» 2013</a>
</li>
我需要所有这些链接,其中可点击并且名称为beetwen name_of_link
我有下一个代码,需要解析xml-file
ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
String xml = XMLfunctions.getXML(resourceURL);
Document doc = XMLfunctions.XMLfromString(xml);
NodeList nodes = doc.getElementsByTagName("item");
for (int i = 0; i < nodes.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element)nodes.item(i);
map.put(KEY_TITLE, XMLfunctions.getValue(e, KEY_TITLE));
map.put(KEY_DATE_TIME, "Date: "+XMLfunctions.formatDate(XMLfunctions.getValue(e, KEY_DATE_TIME)));
map.put(KEY_DESC, Html.fromHtml(XMLfunctions.getValue(e, KEY_DESC),null,null).toString());
map.put(KEY_LINK, Html.fromHtml(XMLfunctions.getValue(e, KEY_LINK)).toString());
mylist.add(map);
}
ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.main,
new String[] { "title","pubDate", "description","link" },
new int[] { R.id.item_title, R.id.item_pubdate, R.id.item_subtitle, R.id.item_link });
setListAdapter(adapter);
我的问题是:如何解析和转换输出中的数据我将获得带有可点击链接的普通文本,例如此来源http://feeds.feedburner.com/ainua?format=xml
如果这篇文章已经存在,我很遗憾浪费你的时间,但遗憾的是,我不知道该怎么做。任何帮助都表示赞赏,因为我花了很多时间试图解决这个任务,但我不想在那里寻找。 THX。
答案 0 :(得分:0)
我会尝试为ListView实现自己的Adapter-Class,并修改为适配器对应方法中每一行创建的视图。
答案 1 :(得分:0)
如果您不想使用HTML.fromHTML()
,则需要自己解析HTML,而您可以轻松地使用RegEx获取href
链接,您仍然需要处理图像标记,列表,等等,所以RegEx不是真正的答案。这个问题应该有所帮助:Parse HTML in Android
如果您决定尝试使用RegEx解析HTML,请阅读:RegEx match open tags except XHTML self-co҉ntained tags。它解释了为什么RegEx无法做到这一点。