阅读困难与Atom阅读器 [英] Difficulty Reading with Atom Reader

查看:152
本文介绍了阅读困难与Atom阅读器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使一个解析器为RSS和Atom哪里RSS提要显示的头条新闻,而凌动显示图像和说明以及链接。看来我的解析器仅适用于RSS。你能告诉我为什么吗?检查这一个:

I tried making a parser for both RSS and Atom where RSS feed shows the headlines while Atom shows with images and description plus link. It seems my parser works only for RSS. Can you tell me why? Check this one:

public void Get_Parse_Feed(String URL_link, Input_Streamer_Class is, List<String> headlines, List<String> links)
{
    try
    {
        // URL
        is = new Input_Streamer_Class();

        /*
         * 
         *             Reserved URLS:
         *             --> http://feeds.pcworld.com/pcworld/latestnews
         *             --> http://feeds2.feedburner.com/boy-kuripot
         *             --> http://feeds2.feedburner.com/phcreditcardpromos
         *             --> http://feeds.feedburner.com/blogspot/MKuf
         *             --> http://googleblog.blogspot.com/atom.xml
         * 
         */

        is.Set_URL(URL_link);

        // Set XML pull factory.
        XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
        factory.setNamespaceAware(false);
        XmlPullParser xpp = factory.newPullParser();

        // Picking up input stream...
        xpp.setInput(is.Get_Input_Stream(is.Get_URL()), "UTF_8");

        // Check for inside item.
        boolean insideItem = false;

        // Pick event type. (START_TAG, END_TAG, etc.)
        int eventType = xpp.getEventType();
        while(eventType != XmlPullParser.END_DOCUMENT)
        {
            if(eventType == XmlPullParser.START_TAG)
            {
                if(xpp.getName().equalsIgnoreCase("item"))
                {
                    insideItem = true;

                } else if(xpp.getName().equalsIgnoreCase("title")) {

                    if(insideItem)
                    {
                        headlines.add(xpp.nextText()); // --> Extract the headline.
                    }

                } else if(xpp.getName().equalsIgnoreCase("link")) {

                    if(insideItem)
                    {
                        links.add(xpp.nextText()); // --> Extract the link of article.
                    }

                }

            } else if((eventType == XmlPullParser.END_TAG) && xpp.getName().equalsIgnoreCase("item")) {

                insideItem = false;

            }

            eventType = xpp.next(); // --> Move to the next element.
        }

    } catch(MalformedURLException e) {

        e.printStackTrace();

    } catch(XmlPullParserException e) {

        e.printStackTrace();

    } catch(IOException e) {

        e.printStackTrace();

    }
}

当我发现这个教程以及与MVC管理自己,结果每次都是IM pressive。但是,当我尝试实施URL包含Atom提要,并没有显示出来。

Every time when I found this tutorial plus managing with MVC for myself, the results is impressive. However, when I try implementing a URL contains Atom feed and it didn't show up.

推荐答案

其最明显的结构是不同的,你需要2个不同的解析器!或2个装在一个(真的不知道该怎么帮助的将是)

Its obvious the structure is different, you need 2 different parsers! Or 2 packed in one (don't really know how helpful will be that)

由于:

RSS 2.0:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
        <channel>

                <title>Example Feed</title>
                <description>Insert witty or insightful remark here</description>
                <link>http://example.org/</link>
                <lastBuildDate>Sat, 13 Dec 2003 18:30:02 GMT</lastBuildDate>
                <managingEditor>johndoe@example.com (John Doe)</managingEditor>

                <item>
                        <title>Atom-Powered Robots Run Amok</title>
                        <link>http://example.org/2003/12/13/atom03</link>
                        <guid isPermaLink="false">urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</guid>
                        <pubDate>Sat, 13 Dec 2003 18:30:02 GMT</pubDate>
                        <description>Some text.</description>
                </item>

        </channel>
</rss>

凌动1.0:

Atom 1.0:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

        <title>Example Feed</title>
        <subtitle>Insert witty or insightful remark here</subtitle>
        <link href="http://example.org/"/>
        <updated>2003-12-13T18:30:02Z</updated>
        <author>
                <name>John Doe</name>
                <email>johndoe@example.com</email>
        </author>
        <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id>

        <entry>
                <title>Atom-Powered Robots Run Amok</title>
                <link href="http://example.org/2003/12/13/atom03"/>
                <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
                <updated>2003-12-13T18:30:02Z</updated>
                <summary>Some text.</summary>
        </entry>

</feed>

比较此处,在code的差别问题是,在原子你有输入不是项目在RSS!

Comparison here, the difference problem in your code is that on atom you have entry not item as in rss!

这篇关于阅读困难与Atom阅读器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆