1、dom解析全球实时地震信息列表
public class HttpGet extends Activity {
private ListView list;
EarthQuakeInfo selectedQuake;
ArrayAdapter adapter;
ArrayList infoList=new ArrayList();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.main);
//设置listView的内容为infoList
list=(ListView)this.findViewById(R.id.list);
adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,infoList);
//设置ListView的适配器为adapter
list.setAdapter(adapter);
getInfo();//获得infoList的具体内容。
}
private void getInfo(){
URL url;
try{
String feed=getString(R.string.feed);
url=new URL(feed);
URLConnection connection=url.openConnection();
HttpURLConnection httpConnection=(HttpURLConnection)connection;
int responseCode=httpConnection.getResponseCode();
if(responseCode==HttpURLConnection.HTTP_OK){
InputStream in=httpConnection.getInputStream();
DocumentBuilderFactory dbfactory=DocumentBuilderFactory.newInstance();
DocumentBuilder db=dbfactory.newDocumentBuilder();
//解析地震feed
Document dom=db.parse(in);
Element docEle=dom.getDocumentElement();
//清空旧的地震信息
infoList.clear();
//获得地震信息列表
NodeList nl=docEle.getElementsByTagName("entry");
if(nl!=null&&nl.getLength()>0){
for(int i=0;i<nl.getLength();i++){
Element entry=(Element)nl.item(i);
Element title=(Element)entry.getElementsByTagName("title").item(0);
Element geo=(Element)entry.getElementsByTagName("georss:point").item(0);
Element when=(Element)entry.getElementsByTagName("updated").item(0);