0

私は Android の初心者です。http: //www.astrology.com/horoscopes/daily-horoscope.rss から xml データを解析しようとしています。How can I parse xml from android in url? からコードを取得します 。ここでは、sherLock ライブラリを使用しました。また、マニフェストでインターネット アクセス許可を設定しましたが、まだ取得できません。少し変更を加えた以外は同じコードです。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    /* Create a new layout to display the view */
    LinearLayout layout = new LinearLayout(this);
    layout.setOrientation(1);

    /* Create a new textview array to display the results */
    TextView name[];
    //TextView website[];
    //TextView category[];

    try {

        URL url = new URL("http://www.astrology.com/horoscopes/daily-horoscope.rss");
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document doc = db.parse(new InputSource(url.openStream()));
        doc.getDocumentElement().normalize();

        NodeList nodeList = doc.getElementsByTagName("item");

        /** Assign textview array lenght by arraylist size */
        name = new TextView[nodeList.getLength()];
       // website = new TextView[nodeList.getLength()];
        //category = new TextView[nodeList.getLength()];

        for (int i = 0; i < nodeList.getLength(); i++) {

            Node node = nodeList.item(i);

            name[i] = new TextView(this);
            //website[i] = new TextView(this);
            //category[i] = new TextView(this);

            Element fstElmnt = (Element) node;
            NodeList nameList = ((Document) fstElmnt).getElementsByTagName("title");
            Element nameElement = (Element) nameList.item(0);
            nameList = ((Node) nameElement).getChildNodes();
            name[i].setText("Name = " + ((Node) nameList.item(0)).getNodeValue());

            //category[i].setText("Website Category = " + ((org.w3c.dom.Element) websiteElement).getAttribute("category"));

            layout.addView(name[i]);
            //layout.addView(website[i]);
            //layout.addView(category[i]);
        }
    } catch (Exception e) {
        System.out.println("XML Pasing Excpetion = " + e);
    }

    /** Set the layout view to display */
    setContentView(layout);

}

SherlockActivity から MainActivity クラスを拡張していることを思い出してください。コードを実行すると、アクション バーのみが表示されます。

4

0 に答える 0