谁能告诉我RSS功能怎么实现,最好能提供源代码,先谢过各位了!

解决方案 »

  1.   

    实际就是处理xml,要符合一个特定的xsd
      

  2.   

    用JSP技术实现RSS功能之最基本的RSS结构:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" 
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"     
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/">   
    </rss>   
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
    <rss version="2.0"   
    xmlns:dc="http://purl.org/dc/elements/1.1/"    
    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"    
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"    
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"> 
    </rss> 
    用JSP技术实现RSS功能其实就是一个XML文件!在<rss></rss>之间我们可以自由配置自己要发布的RSS的格式。例如此次我们要发布的RSS是这样的:<?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" x   
    mlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"    
    xmlns:wfw="http://wellformedweb.org/CommentAPI/" x   
    mlns:slash="http://purl.org/rss/1.0/modules/slash/">   
    <channel>   
    <item>   
    <title>JSP网站RSS的实现</title>   
    <author>neeke</author>   
    <pubDate>2008-10-04</pubDate>   
    <description>这是来自尼克技术博客博客的RSS</description>   
    <category>J2EE技术</category>   
    </item>   
    </channel>   
    </rss>  
     
    了解了它的结构实现起来就容易了。我们创建IO流,并从数据库中获取到我们要发布的RSS资源的集合,然后按照它的格式与结构一行一行的写入到一个RSS.XML文件中即可。public static void publishRss(String rssPath)   
        {   
       //获得要发布的RSS数据集合   
            ArrayList rssArticle = ArticleManager.getArticlesAll();   
            try { //创建输入输出流   
                FileWriter fw = new FileWriter(rssPath);   
                BufferedWriter bw = new BufferedWriter(fw); //开始按照格式写入数据   
                bw.write(   
                        "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\r\n");   
                bw.write("<?xml-stylesheet type=\"text/xsl\" href=\"CSS/rss.xslt\"?>");   
                bw.write("<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\"   
      xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\"   
      xmlns:wfw=\"http://wellformedweb.org/CommentAPI/\"   
      xmlns:slash=\"http://purl.org/rss/1.0/modules/slash/\">\r\n");   
                bw.write("<channel>\r\n");   
                for (int i = 0; i < rssArticle.size(); i++) {   
                    ArticleBean article = (ArticleBean) rssArticle.get(i);   
                    bw.write("<item>\r\n");   
                    bw.write("<title>" + article.getTitle() + "</title>\r\n");   
                    bw.write("<author>" + article.getAuthorId() + "</author>\r\n");   
                    bw.write("<pubDate>" + article.getPostTime() + "</pubDate>\r\n");   
                    bw.write("<description>" + article.getIntro() +   
                             "</description>\r\n");   
                    bw.write("<category>" + article.getCateId() + "</category>\r\n");   
                    bw.write("</item>\r\n");   
                }   
                bw.write("</channel>\r\n");   
                bw.write("</rss>");   
                //关闭流,RSS发布完毕。   
                bw.close();   
                fw.close();   
            } catch (IOException ex) {   
                ex.printStackTrace();   
            }   
        }  
      

  3.   

    rss有自己的协议格式,按照格式提取就行了。