如何建立简易Rss源

  一、 利用 JAXB Rss XSD 生成 RSS Model

1)      下载JAXB,并解压

2)      进入bin目录:cd bin

3)      生成Rss modelxjc –p model rss.xsd

 

二、利用生成的model利用JAXB动态产生符合Rss XSDXML,即RSS

try {

    JAXBContext jaxbContext = JAXBContext.newInstance("model");

    Marshaller marshaller = jaxbContext.createMarshaller();

    ObjectFactory factory = new ObjectFactory();

 

    TRss rss = factory.createTRss();

    Map<QName, String> rssMap = rss.getOtherAttributes();

    rssMap.put(new QName("version"), "2.0");

    rssMap.put(new QName("xmlns:content"),                                                  "http://purl.org/rss/1.0/modules/content/");

    rssMap.put(new QName("xmlns:dc"),

                "http://purl.org/dc/elements/1.1/");

 

    TRssChannel channel = factory.createTRssChannel();

List<Object> anyList = channel.getAny();

    JAXBElement<String> tRssChannelTitle =

factory.createTRssChannelTitle("兵马俑BBS - 今日10");

    JAXBElement<String> tRssChannelDescription =

factory.createTRssChannelDescription("兵马俑BBS -今日10");

    JAXBElement<String> tRssChannelLink =

factory.createTRssChannelLink("http://bbs.xjtu.edu.cn/BMY/bbstop10");

JAXBElement<String> tRssChannelLanguage =

                               factory.createTRssChannelLanguage("zh-ch");

    JAXBElement<String> tRssChannelGenerator =

factory.createTRssChannelGenerator("http://bbs.xjtu.edu.cn 兵马俑BBS");

    JAXBElement<String> tRssChannelWebMaster =

factory.createTRssChannelWebMaster("interma@stu.xjtu.edu.cn");

    JAXBElement<String> tRssChannelPubDate =

factory.createTRssChannelPubDate("Thu Mar  6 14:49:55 2008");

   

anyList.add(tRssChannelTitle);

    anyList.add(tRssChannelLink);

    anyList.add(tRssChannelDescription);

    anyList.add(tRssChannelLanguage);

anyList.add(tRssChannelGenerator);

    anyList.add(tRssChannelWebMaster);

    anyList.add(tRssChannelPubDate);

 

    List<TRssItem> tRssItemList = channel.getItem();

    TRssItem tRssItem = factory.createTRssItem();

    List<Object> rssLink = tRssItem.getTitleOrDescriptionOrLink();

    JAXBElement<String> tRssItemTitle =

factory.createTRssItemTitle("周总理110周年诞辰");

    JAXBElement<String> tRssItemLink =

factory.createTRssItemLink("http://bbs.xjtu.edu.cn/BMY/con?B=history&amp;F=M.1204638204.A");

    JAXBElement<String> tRssItemPubDate =

factory.createTRssItemPubDate("Tue Mar  4 21:43:24 2008");

    JAXBElement<String> tRssItemDescription =

factory.createTRssItemDescription("发信人: magicZ (magicZ), 信区: history<br> &nbsp;: 周总理110周年诞辰<br>发信站: 兵马俑BBS (Tue Mar &nbsp;4 21:43:24 2008), 本站(bbs.xjtu.edu.cn)<br><br>我一直在想,<br><br>怎样的思想,<br><br>怎样的力量,<br><br>怎样的一生,<br><br>才能造就如此的崇高令人敬仰和爱戴的魅力?<br><br>一代名臣,永垂青史,值得我们一生来学习<br><br><br><br>--<br>----<br><br>吾尝终日所思,不如须臾之所学<br> 来源:.兵马俑BBS <a target=_blank href='http://bbs.xjtu.edu.cn'>http://bbs.xjtu.edu.cn</a>&nbsp;[FROM: 202.117.32.53]<br>...");

    JAXBElement<String> tRSSItemCreator =

new JAXBElement<String>(new QName("dc:creator"), String.class, "magicz");

   

    rssLink.add(tRssItemTitle);

    rssLink.add(tRssItemLink);

    rssLink.add(tRssItemPubDate);

    rssLink.add(tRssItemDescription);

    rssLink.add(tRSSItemCreator);

 

    tRssItemList.add(tRssItem);

 

    rss.setChannel(channel);

    JAXBElement<TRss> rssElement = factory.createRss(rss);

    marshaller.setProperty(Marshaller.JAXB_ENCODING, "gb2312");

    marshaller.marshal(rssElement,

new FileOutputStream("abc.xml"));

    } catch (Exception e) {

            e.printStackTrace();

    }

 

拷贝 abc.xml $ Catalina_HOME/webapps/hello1 即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值