rss: jdom-1.0.jar,rome-0.9.jar
private void bildXMLBack(String filePath, String channel, List list, String fileName)
{
feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
entries = new ArrayList();
Properties properties = UtilProperties.getProperties("url.properties");
String urlpath = properties.getProperty("urlpath");
for (int i = 0; i < list.size(); i++)
{
ChannelItem item = new ChannelItem();
RssInfo rssInfo = (RssInfo) list.get(i);
item.setTitle(rssInfo.getChannelItem().getTitle());
if ("Product".equals(channel))
{
item.setLink(urlpath + "/productInfo.do?pinfoId=" + rssInfo.getChannelItem().getChannelId());
}
else
{
item.setLink(urlpath + "/newsIndex.do?method=view&newsId=" + rssInfo.getChannelItem().getChannelId());
}
item.setDescription(rssInfo.getChannelItem().getDescription());
item.setPubDate(rssInfo.getChannelItem().getPubDate());
item.setCategory(rssInfo.getName());
item.setAuthor("Hwawei Website");
buildItems(item);
}
buildChannel(
fileName + "- HUAWEI Communication",
RssContants.HUAWEI_WEBSITE_URL,
"Hwawei Website Rss Feed",
"zh-cn",
new Date(),
"Huawei Communication Technologies Co., 2009 All rights reserved");
try
{
buildChannel(filePath, fileName);
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void buildChannel(
String title,
String link,
String description,
String language,
Date pubDate,
String copyright)
throws RuntimeException
{
feed.setTitle(title);
feed.setLink(link);
feed.setDescription(description);
feed.setLanguage(language);
feed.setPublishedDate(pubDate);
feed.setCopyright(copyright);
}
private void buildItems(ChannelItem item) throws RuntimeException
{
entry = new SyndEntryImpl();
entry.setTitle(item.getTitle());
entry.setLink(item.getLink());
SyndContent content = new SyndContentImpl();
content.setType("text/plain");
content.setValue(item.getDescription());
entry.setDescription(content);
Date d = new Date(item.getPubDate());
entry.setPublishedDate(d);
SyndCategory cate = new SyndCategoryImpl();
cate.setName(item.getCategory());
List cateList = new ArrayList();
cateList.add(cate);
entry.setCategories(cateList);
entry.setAuthor(item.getAuthor());
entries.add(entry);
}
public void buildChannel(String filePath, String fileName) throws Exception
{
feed.setEntries(entries);
SyndFeedOutput output = new SyndFeedOutput();
Writer writer;
if (!new File(filePath).isDirectory())
{
new File(filePath).mkdirs();
}
// java.text.SimpleDateFormat df =
// new java.text.SimpleDateFormat("yyMMdd");
// String newname =
// df.format(java.util.Calendar.getInstance().getTime());
fileName = StringUtil.replaceString(fileName, " ", "");
fileName = fileName + ".xml";
FileOutputStream streamOut = new FileOutputStream(filePath + File.separator + fileName);
writer = new OutputStreamWriter(streamOut, "UTF-8");
output.output(feed, writer);
}
private void bildXMLBack(String filePath, String channel, List list, String fileName)
{
feed = new SyndFeedImpl();
feed.setFeedType("rss_2.0");
entries = new ArrayList();
Properties properties = UtilProperties.getProperties("url.properties");
String urlpath = properties.getProperty("urlpath");
for (int i = 0; i < list.size(); i++)
{
ChannelItem item = new ChannelItem();
RssInfo rssInfo = (RssInfo) list.get(i);
item.setTitle(rssInfo.getChannelItem().getTitle());
if ("Product".equals(channel))
{
item.setLink(urlpath + "/productInfo.do?pinfoId=" + rssInfo.getChannelItem().getChannelId());
}
else
{
item.setLink(urlpath + "/newsIndex.do?method=view&newsId=" + rssInfo.getChannelItem().getChannelId());
}
item.setDescription(rssInfo.getChannelItem().getDescription());
item.setPubDate(rssInfo.getChannelItem().getPubDate());
item.setCategory(rssInfo.getName());
item.setAuthor("Hwawei Website");
buildItems(item);
}
buildChannel(
fileName + "- HUAWEI Communication",
RssContants.HUAWEI_WEBSITE_URL,
"Hwawei Website Rss Feed",
"zh-cn",
new Date(),
"Huawei Communication Technologies Co., 2009 All rights reserved");
try
{
buildChannel(filePath, fileName);
}
catch (Exception e)
{
e.printStackTrace();
}
}
private void buildChannel(
String title,
String link,
String description,
String language,
Date pubDate,
String copyright)
throws RuntimeException
{
feed.setTitle(title);
feed.setLink(link);
feed.setDescription(description);
feed.setLanguage(language);
feed.setPublishedDate(pubDate);
feed.setCopyright(copyright);
}
private void buildItems(ChannelItem item) throws RuntimeException
{
entry = new SyndEntryImpl();
entry.setTitle(item.getTitle());
entry.setLink(item.getLink());
SyndContent content = new SyndContentImpl();
content.setType("text/plain");
content.setValue(item.getDescription());
entry.setDescription(content);
Date d = new Date(item.getPubDate());
entry.setPublishedDate(d);
SyndCategory cate = new SyndCategoryImpl();
cate.setName(item.getCategory());
List cateList = new ArrayList();
cateList.add(cate);
entry.setCategories(cateList);
entry.setAuthor(item.getAuthor());
entries.add(entry);
}
public void buildChannel(String filePath, String fileName) throws Exception
{
feed.setEntries(entries);
SyndFeedOutput output = new SyndFeedOutput();
Writer writer;
if (!new File(filePath).isDirectory())
{
new File(filePath).mkdirs();
}
// java.text.SimpleDateFormat df =
// new java.text.SimpleDateFormat("yyMMdd");
// String newname =
// df.format(java.util.Calendar.getInstance().getTime());
fileName = StringUtil.replaceString(fileName, " ", "");
fileName = fileName + ".xml";
FileOutputStream streamOut = new FileOutputStream(filePath + File.separator + fileName);
writer = new OutputStreamWriter(streamOut, "UTF-8");
output.output(feed, writer);
}