我正在使用Xml Pull Parser從URL解析某些Xml。我正在檢索節點的值沒有任何問題,但我似乎無法獲取節點名稱 - 它只是返回null。Android SDK:Xml Pull Parser - 如何獲取節點名稱
例如:
<ArtistName>Joe</ArtistName>
我可以檢索「喬」,但不能得到什麼節點「喬」是從,所以不是返回「ARTISTNAME」,則返回null。
這裏是我的代碼:
public static void getAllXML(String url) throws
XmlPullParserException, IOException, URISyntaxException{
Log.i("*****PARSER CALLED******","****PARSER CALLED*****");
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser parser = factory.newPullParser();
String tagName = parser.getName();
parser.setInput(new InputStreamReader(getUrlData(url)));
XmlUtils.beginDocument(parser,"EventsPricePoints");
int eventType = parser.getEventType();
do{
XmlUtils.nextElement(parser);
parser.next();
String nodeName = parser.getName();
eventType = parser.getEventType();
if(eventType == XmlPullParser.TEXT){
Log.i("************PARSER**********",nodeName+"....."+parser.getText());
}
} while (eventType != XmlPullParser.END_DOCUMENT) ;
}
正如你所看到的,我嘗試使用
parser.getName()
得到節點名稱,其返回null。我究竟做錯了什麼?
這仍然返回空 – user1417302 2012-07-16 15:09:18
有沒有辦法獲得非開始或結束標籤的節點名稱? – user1417302 2012-07-16 15:13:45
to @ user1417302您可以保存上次創建的節點名稱。我更新了答案 – Den 2012-07-16 15:23:55