package com.cnblogs.android.core; import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import com.cnblogs.android.entity.*; import com.cnblogs.android.parser.RssCateXmlParser; import com.cnblogs.android.utility.NetHelper; /** * News������ * @author walkingp * */ public class RssCateHelper extends DefaultHandler { /** * ����ҳ�뷵��News���󼯺� * @return * pageIndex:ҳ�룬��1��ʼ */ public static ArrayList<RssCate> GetRssCates(){ String url=Config.URL_RSS_CATE_URL;//��ѡ��ַ String dataString=NetHelper.GetXmlContentFromUrl(url,"UTF-8"); if(dataString.equals("")){ return null; } ArrayList<RssCate> list=ParseString(dataString); return list; } /** * ���ַ���ת��ΪRssCate���� * @return */ private static ArrayList<RssCate> ParseString(String dataString) { SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); ArrayList<RssCate> listCate=new ArrayList<RssCate>(); try { XMLReader xmlReader = saxParserFactory.newSAXParser().getXMLReader(); RssCateXmlParser handler = new RssCateXmlParser(listCate); xmlReader.setContentHandler(handler); xmlReader.parse(new InputSource(new StringReader(dataString))); listCate=handler.GetRssCateList(); } catch (SAXException e) { e.printStackTrace(); } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return listCate; } }