Java 使用XMLPullParser使用Android解析iTunes RSS Atom提要

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

链接至:

歌曲标题、专辑图像链接和歌曲的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 = "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;
}

}

我需要知道如何正确解析此项??