2

Youtube からデータを取得する方法に関する情報を調査しています。基本的に私がやりたいことは、再生リスト (例: http://gdata.youtube.com/feeds/api/playlists/6A40AB04892E2A1F ) からビデオに関する情報 (タイトル、説明、サムネイル URL) を取得することです。このコード スニペットを使用してタイトルを取得できました (別の質問から借用しました)。

String featuredFeed = "http://gdata.youtube.com/feeds/api/playlists/6A40AB04892E2A1F";

url = new URL(featuredFeed);

URLConnection connection;
connection = url.openConnection();

HttpURLConnection httpConnection = (HttpURLConnection) connection;

int responseCode = httpConnection.getResponseCode();

if (responseCode == HttpURLConnection.HTTP_OK) {
    InputStream in = httpConnection.getInputStream();

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);
    DocumentBuilder db = dbf.newDocumentBuilder();

    Document dom = db.parse(in);
    Element docEle = dom.getDocumentElement();

    NodeList nl = docEle.getElementsByTagName("entry");
    // NodeList nl2 = ;
    if (nl != null && nl.getLength() > 0) {
        for (int i = 0; i < nl.getLength(); i++) {

            Element entry = (Element) nl.item(i);
            Element title = (Element) entry.getElementsByTagName(
                    "title").item(0);

            String titleStr = title.getFirstChild().getNodeValue();

            Log.i("TEST LOG", "TITLES: " + titleStr);

        }
    }
}

ただし、サムネイルの URL を取得する方法がよくわかりません。タグを見たことがありますが、ノードリストから呼び出す方法がわかりません。この方法を使用して、動画のサムネイル URL と動画の説明を取得する方法を教えてください。

前もって感謝します。

4

1 に答える 1

0
Log.i("TEST LOG", "TITLES: " + titleStr);
(...)
                    Element groupNode = (Element)entry.getElementsByTagNameNS("*", "group").item(0);

                    NodeList tNL = groupNode.getElementsByTagNameNS("*", "thumbnail");

                    for (int k = 0; k < tNL.getLength(); k++) {
                        Element tE = (Element)tNL.item(k);

                        if (tE != null) {
                            System.out.println("Thumbnail url = " + tE.getAttribute("url"));
                        }
                    }

                    NodeList dNL = groupNode.getElementsByTagNameNS("*", "description");

                    for (int k = 0; k < dNL.getLength(); k++) {
                        Element tE = (Element)dNL.item(k);

                        if (tE != null) {
                            System.out.println("Description = " + tE.getFirstChild().getNodeValue());
                        }
                    }

                } // end for

(...)
于 2012-05-29T13:22:02.880 に答える