31 August 2010
android parse xml

在anroid parse xml其實有蠻多方法的

例如SAX(Simple API for XML)、DOM...

大家都知道用SAX來parse會較省記憶體。

但用SAX的麻煩就是必須自己去寫content handler...

但如果您的XML檔並不大,且去讀取的次數沒有很頻繁,

那麼還是建議您用DOM吧!較簡單!

實作方法如下:

 private static DocumentBuilder documentBuilder  = null;  
private static Document document = null;
private static NodeList elements = null;
private static int iElementLength= 0;

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
try{

URL urlUpdate = new URL("http://www.xxx.xxx/xxx.xml");
documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
document = documentBuilder.parse(urlUpdate.openStream());
document.getDocumentElement().normalize();

/*
*其實簡單到我也不知該怎麼寫註解了,
*先get到你要的tag吧,記得回傳型態是NodeList,
*不要看我命名為elements,就以為他是Element
*/
elements = document.getElementsByTagName("update_images");
iElementLength=elements.getLength();
if (iElementLength ==0 )
return;

for (int i = 0; i < iElementLength ; i++) {
Element element = (Element) elements.item(i);
Log.d("main",element.getAttribute("pic_name"));
}
}catch (Exception e) {
Log.d("main",String.valueOf(e.toString()));
}

}


大概就是這樣!



blog comments powered by Disqus