Java 使用XMLPullParser使用Android解析iTunes RSS Atom提要
链接至: 歌曲标题、专辑图像链接和歌曲的web链接应显示在列表视图中Java 使用XMLPullParser使用Android解析iTunes RSS Atom提要,java,android,xml-parsing,itunes,xmlpullparser,Java,Android,Xml Parsing,Itunes,Xmlpullparser,链接至: 歌曲标题、专辑图像链接和歌曲的web链接应显示在列表视图中 static final String KEY_ENTRY = "entry"; static final String KEY_TITLE = "title"; static final String KEY_TITLE_URL = "id"; static final String KEY_SONG_DOWNLOAD_URL = "link"; static final String KEY_ALBUM_IMAGE_URL
static final String KEY_ENTRY = "entry";
static final String KEY_TITLE = "title";
static final String KEY_TITLE_URL = "id";
static final String KEY_SONG_DOWNLOAD_URL = "link";
static final String KEY_ALBUM_IMAGE_URL = "im:image";
public static List<iTunes> getStackSitesFromFile(Context ctx) {
// List of StackSites that we will return
List<iTunes> itunes;
itunes = new ArrayList<iTunes>();
// temp holder for current StackSite while parsing
iTunes curiTunes = null;
// temp holder for current text value while parsing
String curText = "";
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser xpp = factory.newPullParser();
FileInputStream fis = ctx.openFileInput("iTunes.xml");
BufferedReader reader = new BufferedReader(new InputStreamReader(
fis));
xpp.setInput(reader);
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
String tagname = xpp.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if (tagname.equalsIgnoreCase(KEY_ENTRY)) {
curiTunes = new iTunes();
}
break;
case XmlPullParser.TEXT:
curText = xpp.getText();
break;
case XmlPullParser.END_TAG:
if (tagname.equalsIgnoreCase(KEY_ENTRY)) {
itunes.add(curiTunes);
} else if (tagname.equalsIgnoreCase(KEY_TITLE)) {
curiTunes.setTitle(curText);
} else if (tagname.equalsIgnoreCase(KEY_TITLE_URL)) {
curiTunes.setSongUrl(curText);
} else if (tagname.equalsIgnoreCase(KEY_SONG_DOWNLOAD_URL)) {
curiTunes.setSongDownloadUrl(curText);
} else if (tagname.equalsIgnoreCase(KEY_ALBUM_IMAGE_URL)) {
curiTunes.setAlbumImgUrl(curText);
}
break;
default:
break;
}
eventType = xpp.next();
}
} catch (Exception e) {
e.printStackTrace();
}
return itunes;
}
static final String KEY\u ENTRY=“ENTRY”;
静态最终字符串键\u TITLE=“TITLE”;
静态最终字符串键\u TITLE\u URL=“id”;
静态最终字符串键\u SONG\u DOWNLOAD\u URL=“link”;
静态最终字符串键\u相册\u图像\u URL=“im:IMAGE”;
公共静态列表getStackSitesFromFile(上下文ctx){
//我们将返回的StackSites列表
列出itunes;
itunes=新的ArrayList();
//分析时当前StackSite的临时保持器
iTunes curiTunes=null;
//分析时当前文本值的临时保持器
字符串curText=“”;
试一试{
XmlPullParserFactory工厂=XmlPullParserFactory.newInstance();
XmlPullParser xpp=factory.newPullParser();
FileInputStream fis=ctx.openFileInput(“iTunes.xml”);
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
金融机构);
设置输入(读卡器);
int eventType=xpp.getEventType();
while(eventType!=XmlPullParser.END_文档){
字符串标记名=xpp.getName();
开关(事件类型){
case XmlPullParser.START_标记:
if(标记名.equalsIgnoreCase(键输入)){
curiTunes=新iTunes();
}
打破
case XmlPullParser.TEXT:
curText=xpp.getText();
打破
case XmlPullParser.END_标记:
if(标记名.equalsIgnoreCase(键输入)){
itunes.add(音乐);
}else if(标记名.equalsIgnoreCase(键标题)){
curiTunes.setTitle(curText);
}else if(标记名.equalsIgnoreCase(键\标题\ URL)){
curiTunes.setSongUrl(curText);
}else if(标记名.equalsIgnoreCase(键\歌曲\下载\ URL)){
curiTunes.setSongDownloadUrl(curText);
}else if(标记名.equalsIgnoreCase(键\相册\图像\ URL)){
curiTunes.setAlbumImgUrl(curText);
}
打破
违约:
打破
}
eventType=xpp.next();
}
}捕获(例外e){
e、 printStackTrace();
}
返回itunes;
}
}我需要知道如何正确解析此项??