

Android でアクセスをし、フィードをパースして、タイトル、日付、リンク を取得したいです。  
ライブドアブログ、FC2のブログなどでは取得できますが、blogspot.jp でのブログで取得が行えません。

[code]

        try {
            Log.d("try直下", "-----");
            String mSitetitle = "";
            parser.setInput(is, null);
            int eventType = parser.getEventType();
            Item currentItem = null;
            while (eventType != XmlPullParser.END_DOCUMENT && i < 10) {
                // Log.d("while直下","-----");
                String tag = null;
                switch (eventType) {
                    case XmlPullParser.START_TAG:
                        tag = parser.getName();
                        if ((tag.equals("title")) && (currentItem == null)) {
                            mSitetitle = parser.nextText();//サイト名を取得
                            Log.d("mSitetitle", mSitetitle);
                        }
                        if (tag.equals("item")) {
                            currentItem = new Item();//Itemクラスのインスタンスを作り、それに値を入れていく
                            currentItem.setSite(mSitetitle);
    
                        } else if (currentItem != null) {
                            if (tag.equals("title")) {
                                currentItem.setTitle(parser.nextText());
                                Log.d("title", parser.nextText());
                          //} else if (tag.equals("author")) {//サイト名、製作者
                                //currentItem.setSite((parser.nextText()));
                            } else if (tag.equals("pubDate")) {//日付 Sat, 31 Oct 2015 13:33:51 +0000
                                /** RSSフィードの日付フォーマットパターン */
                                SimpleDateFormat sdf1 = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
                                Date formatDate = sdf1.parse(parser.nextText());  //Sat, 31 Oct 2015 13:33:51 +0000
                                Calendar cal = Calendar.getInstance();
                                cal.setTime(formatDate);//パースした値をカレンダークラスで整形してセット
                                //タイムゾーン変更
                                cal.setTimeZone(TimeZone.getTimeZone("GMT+9:00"));
                                SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
                                String formatted = sdf2.format(cal.getTime());
                                Log.d("formatted", formatted);
                                currentItem.setDate((formatted));
                            } else if (tag.equals("date")) {//日付別バーション0
                                //2016-01-02T20:35:48+09:00
                                SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
                                Date formatDate = sdf2.parse(parser.nextText());  //Sat, 31 Oct 2015 13:33:51 +0000
                                Calendar cal = Calendar.getInstance();
                                cal.setTime(formatDate);//パースした値をカレンダークラスで整形してセット
                                String formatted = sdf2.format(cal.getTime());
                                currentItem.setDate(formatted);
                                //currentItem.setDate((parser.nextText()));
                            } else if (tag.equals("link")) {//リンク
                                Log.d("link", parser.nextText());
                                currentItem.setLink((parser.nextText()));
                            }
                            //else if (tag.contains("link")) {//リンク
                            //  Log.d("link", parser.nextText());
                            //  currentItem.setLink((parser.nextText()));
                            //}
    
                        //else if (tag.equals("description")) {
                          // currentItem.setDescription(parser.nextText());
                       //}
                }
                break;
                case XmlPullParser.END_TAG:
                    tag = parser.getName();
                    if (tag.equals("item")) {
                        //mAdapter.add(currentItem);
                        items.add(currentItem);//上は　mAdapterに収納していたが、ここでは配列に収納する
                        i++;//i カウントアップ
                        Log.d("i", String.valueOf(i));
                    }
                    break;
            }
            eventType = parser.next();
        }//while_END
    }
    
[/code]


CC BY-SA 3.0
2016-01-08T09:22:59.717
20748
2016-01-19T09:24:29.627
2016-01-19T09:24:29.627
76
12608
question
android java
blogspot.jpでのフィード情報の取得とパース