Java实现RSS

RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器
而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小
巧实用的Java库,大小仅25k,可以从 [url]http://sourceforge.net/projects/rsslibj/[/url] 下载rsslibj-
1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。
 
 
 
下载下来之后把 扩张名.zip 改为 .jar 就行了。
import com.rsslibj.elements.Channel;
public class Writer {
    public static void main(String[] args) 
            throws InstantiationException, ClassNotFoundException, 
            IllegalAccessException {
        Channel channel=new Channel();
        channel.setDescription("This is my sample channel.");
        channel.setLink("http://localhost/");
        channel.setTitle("My Channel");
        channel.setImage("http://localhost/", 
                "The Channel Image", 
                "http://localhost/foo.jpg");
        channel.setTextInput("http://localhost/search", 
                "Search The Channel Image", 
                "The Channel Image", 
                "s");
        channel.addItem("http://localhost/item1",
                "The First Item covers details on the first item>",
                "The First Item")
                .setDcContributor("Joseph B. Ottinger");
        channel.addItem("http://localhost/item2",
                "The Second Item covers details on the second item",
                "The Second Item")
                .setDcCreator("Jason Bell");
        System.out.println("The feed in RDF: "+channel.getFeed("rss"));
    }
}
 
 
Channel channel = new Channel(); 
channel.setDescription(account.getDescription());
baseUrl = baseUrl.substring(0, n);
channel.setLink("http://server-name/home.c?accountId=" + accountId);
channel.setTitle(account.getTitle());
List articles = facade.getArticles(accountId, account.getMaxPerPage(), 1);
Iterator it = articles.iterator();
while(it.hasNext()) {
    Article article = (Article)it.next();
    channel.addItem("http://server-name/article.c?articleId=" + article.getArticleId(),
        article.getSummary(), article.getTitle()
    );
}
// 输出xml:
response.setContentType("text/xml");
PrintWriter pw = response.getWriter();
pw.print(channel.getFeed("rss"));
pw.close();
 
 
  importcom.rsslibj.elements.Channel;
  
  publicclassWriter{
  publicstaticvoidmain(String[]args)
  throwsInstantiationException,ClassNotFoundException,
  IllegalAccessException{
  Channelchannel=newChannel();
  channel.setDescription("Thisismysamplechannel.");
  channel.setLink("/");
  channel.setTitle("MyChannel");
  channel.setImage("/",
  "TheChannelImage",
  "/foo.jpg");
  channel.setTextInput("/search",
  "SearchTheChannelImage",
  "TheChannelImage",
  "s");
  channel.addItem("/item1",
  "TheFirstItemcoversdetailsonthefirstitem>",
  "TheFirstItem")
  .setDcContributor("JosephB.Ottinger");
  channel.addItem("/item2",
  "TheSecondItemcoversdetailsontheseconditem",
  "TheSecondItem")
  .setDcCreator("JasonBell");
  System.out.println("ThefeedinRDF:" channel.getFeed("rdf"));
  }
  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RSS算法(Residual Sum of Squares,残差平方和)是一种线性回归模型的评价指标,用于衡量模型对样本数据的拟合程度。在C语言中,实现RSS算法可以按照以下步骤进行: 1. 定义样本数据 假设我们有n个样本数据,每个样本数据包含m个特征,可以定义一个二维数组samples,其中samples[i][j]表示第i个样本的第j个特征。 2. 定义模型参数 假设我们的线性回归模型为y = w0 + w1*x1 + w2*x2 + ... + wm*xm,其中w0、w1、w2、...、wm为模型参数,可以定义一个一维数组params,其中params[0]表示w0,params[1]表示w1,依此类推。 3. 计算预测值 对于第i个样本,我们可以通过以下公式计算其预测值: y_pred = params[0] + params[1]*samples[i][0] + params[2]*samples[i][1] + ... + params[m]*samples[i][m-1] 4. 计算残差平方和 对于所有n个样本,我们可以通过以下公式计算其残差平方和(RSS): rss = 0; for (int i = 0; i < n; i++) { double y_pred = params[0]; for (int j = 0; j < m; j++) { y_pred += params[j+1] * samples[i][j]; } double residual = y_pred - y[i]; rss += residual * residual; } 其中y[i]为第i个样本的真实值。 5. 返回RSS值 最后返回计算得到的RSS值即可。 完整代码如下: ```c #include <stdio.h> double rss(double** samples, double* y, int n, int m, double* params) { double rss = 0; for (int i = 0; i < n; i++) { double y_pred = params[0]; for (int j = 0; j < m; j++) { y_pred += params[j+1] * samples[i][j]; } double residual = y_pred - y[i]; rss += residual * residual; } return rss; } int main() { double samples[3][2] = {{1, 2}, {2, 4}, {3, 6}}; double y[3] = {3, 6, 9}; double params[3] = {0, 0, 0}; printf("RSS: %.2f\n", rss(samples, y, 3, 2, params)); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值