首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLPullParser android冒号标签

XMLPullParser android冒号标签
EN

Stack Overflow用户
提问于 2016-02-08 16:13:01
回答 1查看 152关注 0票数 0

我发现了几个关于名字问题的问题,但没有一个问题能解决。我想要的是获得媒体的网址:缩略图标签:

代码语言:javascript
复制
<media:thumbnail width="144" height="81" url="http://c.files.bbci.co.uk/6013/production/_88159542_3e6f2bc3-16a3-407d-9e07-62bae1fa755e.jpg"/>

上面这个标签的例子

代码语言:javascript
复制
private void handleText(String text) {
            String xmlText = text;
            if (currentEntry != null && currentTag != null) {
                if (currentTag.equals(TITLE)) {
                    currentEntry.setTitle(xmlText);
                } else if (currentTag.equals(DESC)) {
                    currentEntry.setDescription(xmlText);
                } else if (currentTag.equals(LINK)) {
                    currentEntry.setLink(xmlText);
                } else if (currentTag.equals(IMAGE)) {
                    currentEntry.setImage("test");
                }
            }
        }

我尝试了几件事:

xpp.getAttributeValue(null,"url");并将图像设置为。然而,我注意到我甚至没有进入那个如果条款。我在图像变量上尝试了几个值,例如:

  • 媒体:缩略图
  • 媒体
  • 缩略图

我还设置了命名空间感知:

代码语言:javascript
复制
factory.setNamespaceAware(true);

我做错了什么?

解析器:

代码语言:javascript
复制
XmlPullParser xpp;
int eventType;

protected List<Entry> doInBackground(String... string) {
    try {

        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(true);
        xpp = factory.newPullParser();
        xpp.setInput(getInputStream(new URL("http://feeds.bbci.co.uk/news/technology/rss.xml?edition=uk")), "UTF_8");

        eventType = xpp.getEventType();
        while (eventType != XmlPullParser.END_DOCUMENT) {
            if (eventType == XmlPullParser.START_TAG) {
                handleStartTag(xpp.getName());
            } else if (eventType == XmlPullParser.END_TAG) {
                currentTag = null;
            } else if (eventType == XmlPullParser.TEXT) {
                handleText(xpp.getText());
            }
            eventType = xpp.next();
        }

    } catch (Resources.NotFoundException e) {
        Log.d(LOGTAG, e.getMessage());
    } catch (XmlPullParserException e) {
        Log.d(LOGTAG, e.getMessage());
    } catch (IOException e) {
        Log.d(LOGTAG, e.getMessage());
    }

    return entries;
}
EN

回答 1

Stack Overflow用户

发布于 2016-02-08 16:54:22

我修好了。我系统地列出了它正在解析的开始标记,它显示为:缩略图。因此,我改变了我的形象常数,使之具有“缩略图”的价值。它从未出现在缩略图子句中,因为handleText方法只处理标记中找到的文本。因为media:缩略图没有文本属性,只有值,所以我需要在handleStartTag方法中处理它。在这里,我可以说,如果当前标记名等于“缩略图”,则获取url和setImage的属性值作为该值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35274179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档