TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
去年做了个项目,要求支持RSS输出,郁闷老找不到支持RSS输出的方法,后来仔细一想, RSS输出其实也就是在服务器生成一个XML文件,以后把信息写到服务器就行了。这又涉及 到读写XML文件了,后来我选择了JDOM。
代码如下,看不明白的可以跟我联系:
danke QQ:56355337
package music;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import java.io.*;
import java.util.*;
import java.text.DateFormat;
public class RSSCreater
{
AlbumDto dto=null;
public RSSCreater(AlbumDto dto,String dir)//往Rss文件中添加信息
{
Date date=new Date();
this.dto=dto;
String albumName=dto.getAlbumName();
String artistName=dto.getArtistName();//艺术家的名字
DateFormat format=DateFormat.getDateTimeInstance();
String time=format.format(date);//日期
int albumId=dto.getAlbumId().intValue();//专辑的id
String id=String.valueOf(albumId);
String url="http://localhost:8080/musicWeb/getSongAction.do?categoryId="+id;
System.out.println("现在时间是:"+time);
String atitle=artistName+"的新专辑-- "+albumName+"--已经到达本站,欢迎查看";
try
{
String truePath=dir+"/"+"index.xml";
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(new FileInputStream(truePath));
Element root = doc.getRootElement();
java.util.List books = root.getChildren("channel");
Element item=(Element)books.get(0); Element it=new Element("item");
Element title=new Element("title").setText(atitle);
Element lint=new Element("link").setText(url);
Element datetime=new Element("pubDate").setText(time);
Element guid=new Element("guid").setText(url); it.addContent(title);
it.addContent(lint);
it.addContent(guid);
it.addContent(datetime);
item.addContent(it); File files=new File(truePath);
Writer xmlwriter=new FileWriter(files);
FileOutputStream outstream=new FileOutputStream(files);
XMLOutputter fmt=new XMLOutputter();
fmt.output(doc,xmlwriter);
fmt.output(doc,outstream);
}
catch(Exception e)
{
System.out.println(e);
}
}
}
附一个Rss文件的样本:
- <?xml version="1.0" encoding="utf-8" ?>
- <rss version="2.0">
- <channel>
- <title>CSDN技术文档中心</title>
- <description>CSDN技术文档中心</description>
- <link>http://dev.csdn.net/</link>
- <language>zh-cn</language>
- <docs>CSDN.NET Develop Article</docs>
- <generator>Rss Generator By CSDN.NET</generator>
- <item>
- <title>DIY有创意的网站错误信息</title>
- <link>http://dev.csdn.net/article/74387.shtm</link>
- <author>nbpig</author>
- <pubDate>Fri, 05 Aug 2005 00:17:00 GMT</pubDate>
- </item>
- <item>
- <title>一个封装了Java改变LookAndFeel的JAVA菜单,可直接在可视化编辑拖拉</title>
- <link>http://dev.csdn.net/article/74380.shtm</link>
- <author>badqiu</author>
- <pubDate>Thu, 04 Aug 2005 20:18:00 GMT</pubDate>
- </item>
- <item>
- <title>非java.util.zip,使用ant.jar制作zip压缩文件,以及相关中文解决方法</title>
- <link>http://dev.csdn.net/article/74374.shtm</link>
- <author>thefirstwind</author>
- <pubDate>Thu, 04 Aug 2005 17:40:00 GMT</pubDate>
- </item>
- <item>
- <title>Apache Ant 初步体验(小记)</title>
- <link>http://dev.csdn.net/article/74371.shtm</link>
- <author>fly__dragon</author>
- <pubDate>Thu, 04 Aug 2005 16:07:00 GMT</pubDate>
- </item>
- <item>
- <title>Java程序员面试三十二问</title>
- <link>http://dev.csdn.net/article/74364.shtm</link>
- <author>gqy789</author>
- <pubDate>Thu, 04 Aug 2005 15:18:00 GMT</pubDate>
- </item>
- <item>
- <title>Eclipse快速上手指南之使用Ant</title>
- <link>http://dev.csdn.net/article/74362.shtm</link>
- <author>gqy789</author>
- <pubDate>Thu, 04 Aug 2005 15:10:00 GMT</pubDate>
- </item>
- </channel>
- </rss>
复制代码 |
|