【问题标题】:lastfm artist info on androidandroid上的lastfm艺术家信息
【发布时间】:2012-09-24 16:34:12
【问题描述】:

大家好,我想在 android 上显示艺术家信息,所以我尝试解析 xml 但是在艺术家摘要之前有这样的奇怪标签“ CDATA ” 所以当我运行我的代码时,我得到了空白文本视图 我尝试使用 Json,但它超出了我编写 json 解析的能力

这是我的代码

 String URL = "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=Cher&api_key=b25b959554ed76058ac220b7b2e0a026&limit=" + 1 + "&page=" + 1;
        XmlParser parser = new XmlParser();
        String xml = parser.getXmlFromUrl(URL); // getting XML
        Document doc = parser.getDomElement(xml); // getting DOM element
                            NodeList nl = doc.getElementsByTagName("artist");
             for (i = 0; i < nl.getLength(); i++) 
             {
                    Element e = (Element) nl.item(i);
                     name = parser.getValue(e, KEY_NAME);// name child value
                        image = parser.getValue(e, KEY_IMAGE);
                        summary = parser.getValue(e, KEY_Summary);
                                            return summary;
        } 
            return null;
    }
            @Override
    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
                    URL thumb_u;
            try {
                thumb_u = new URL(result);
                  Drawable thumb_d = Drawable.createFromStream(thumb_u.openStream(), "src");
                  tv.setText(result);//textview text set
                    icon.setImageDrawable(thumb_d);

【问题讨论】:

    标签: android android-layout android-xml


    【解决方案1】:

    XmlParser 来自哪里?我用谷歌搜索,我猜它来自here?如果是,请更改

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    

    getDomElement中添加这一行:

    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setCoalescing(true);
    

    文档:setCoalescing

    【讨论】:

    • 先生,您是对的,我按照该教程进行操作..我已按照您的建议添加了该行,但我的 textview 上仍然没有任何文本...仍然是空白..这是代码很好 NodeList nl = doc.getElementsByTagName("artist");.. 作为参考,您可以查看 lastfm 站点到 api 页面,您会找到artistinfo 链接,因此您将获得更好的 xml 视图
    • 什么不起作用?请注意,您应该只看到一位艺术家摘要。您的代码还将遍历similar 标记中的artist 标记,其中不包含摘要标记
    • 那么我如何编写代码从 lasfm getinfo 艺术家那里获取摘要?
    • 您需要为该列表中的每个艺术家调用 API。 API 没有显示任何方法来返回每个相似艺术家的摘要
    • 但要获取艺术家信息,您只需要 apk 密钥 .. 我有 API 密钥,您只需将艺术家名称和 API 添加到您的 url 并将其传递给解析器。我认为您不需要使用 api 吗?如果我是对的
    猜你喜欢
    • 2015-04-12
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多