`
guozheng
  • 浏览: 71725 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Rss xml的更新,修改

    博客分类:
  • rss
阅读更多

Rss xml的更新,修改

 

为什么要对RssXml修改呢,因为在我思路里,如果我添加了一条博客,那么同时应该在Xml文件里在item项里添加一条相关信息,而且要把item的最后一条给删除掉;另外一个考虑是Cloud标签既然由另外一个线程监听,那么如果在原来xml上修改的话,是不是能监听到有了更新呢。出于这样的考虑我测试两个对xml的更新方法,结果发现这些方法并不是在原来的基础上改,而是删除原来的,又新建了一个。这真是太让人郁闷了,本来想自己写一个更新方法,或者看看rome是否有更新xml的方法,无奈由于时间有限,遂放弃这个念头。下面是两个方法的代码,仅供借鉴,少走弯路而已。

一、

URL url = new URL(

              "http://218.206.234.34:8080/rss-xmlrpc/testRss/test.xml");

XmlReader reader = new XmlReader(url);

SyndFeedInput input = new SyndFeedInput();

SyndFeed feed = input.build(reader);

List entries = feed.getEntries();

 

SyndEntry entry = new SyndEntryImpl();

entry.setTitle("Rome v2.0");

entry.setLink("http://sms.ha.chinamobile.com/");

entry.setPublishedDate(dateParser.parse("2010-03-08"));

SyndContent description = new SyndContentImpl();

description.setType("text/plain");

description.setValue("Initial release of Rome");

entry.setDescription(description);

entries.add(entry);

feed.setEntries(entries);

Writer writer = new FileWriter(address);//address实际是xml的输出地址

/*

实际从这里可以看出来,这个方法并不是在原来的基础上做修改,而是拿到了全部的记录,

在记录中间再加上更新的一条,然后从新生成、覆盖。

这个并没有达到理想的目标,在原来的基础上修改,然后cloud监听到。

实际上最大的麻烦事不知道cloud是怎么监听的。

*/

SyndFeedOutput output = new SyndFeedOutput();

//SyndFeedOutput这个类来判断这个rome应该有对xml做更新的类或者方法。

output.output(feed, writer);

writer.close();

从这个实现判断rome有对xml的实现,如果大家有研究它的意向的话,可以研究研究,看看到底,rome对这块是怎么构思和实现的。如果有人知道,请共享给我,不甚感激。

二、

SAXBuilder builder=new SAXBuilder();

Document doc=builder.build(new FileInputStream(address));

//address:xml地址

Element element = doc.getRootElement();

//jdom的标准的类,这方面资料很多。

Element eItem = new Element("item");

Element eTitle = new Element("title");

Element eDescription = new Element("description");

Element eCategory = new Element("category");

Element ePubDate = new Element("pubDate");

 

eTitle.setText("测试");

eDescription.setText("认真对待");

eCategory.setText("1001");

ePubDate.setText("Sun, 07 Mar 2010 16:00:00 GM");

eItem.addContent(eTitle);

eItem.addContent(eDescription);

eItem.addContent(eCategory);

eItem.addContent(ePubDate);

 

element.getChild("channel").addContent(eItem);

Format format=Format.getCompactFormat();

format.setEncoding("GB18030");

format.setIndent(" ");

XMLOutputter XMLOut=new XMLOutputter(format);

XMLOut.output(doc,new FileOutputStream(address));

/*

虽然address是一个变量,但是new FileOutputStream(address)表示

还是新建的了一个,并不是原来的那个了

*/

上面的这个两个实现都能够对xml进行修改,但是还是不能达到预期的目标(cloud显示已经更新)。

上面的这两个实现都是在测试xmlrpccloud实现项目下作的。

如果大家有好的建议和思路或者实现,请不吝赐教,谢谢。

0
0
分享到:
评论

相关推荐

    动态生成Rss文件 Xml操作 Xml文件的修改

    动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...

    动态生成Rss文件 Xml操作 Xml文件的修改 简单实用的demo

    RSS(Really Simple Syndication)是一种XML格式,常用于发布新闻提要,使得用户可以订阅并获取最新的内容更新。RSS文件包含一系列条目,每个条目代表一篇文章、博客post或其他信息单元。通过动态生成RSS文件,...

    读取RSS-SAX解析XML实例(java版)

    描述中提到的“在main方法中将参数换成自己的RSS地址即可”,意味着示例代码应该提供了一个通用的框架,使用者只需更改RSS URL即可适应不同的信息源。 标签中的"读取rss"、"SAX解析XML"、"sax"、"xml"、"rss"进一步...

    android 4种方法完美读取rss xml程序源代码

    RSS是一种用于发布和聚合内容的XML格式,通常用于新闻、博客和其他在线媒体的更新。本教程将深入探讨四种在Android中读取RSS XML源代码的方法,并提供可直接运行的程序示例。 一、SAX解析器 SAX(Simple API for ...

    C#编写的模拟Rss 阅读器操作XML文件数据节点存储

    在C#中,XML文件的操作主要依赖于.NET框架提供的System.Xml命名空间,它包含了一系列类库用于解析、创建和修改XML文档。 XML文件结构清晰,数据以节点的形式组织,包括元素(Element)、属性(Attribute)、文本...

    rss 和 atom 输出xml格式实例

    在IT行业中,RSS(Really Simple Syndication)和Atom是两种广泛使用的XML格式,用于发布和订阅Web内容。这两种格式都允许用户通过聚合器获取和跟踪更新,而无需直接访问各个网站。下面我们将深入探讨RSS和Atom的...

    RSS发布(生成XML)和读取URL

    它可以用来创建、修改和操作XML文档,对于构建RSS XML文件非常有用。通过JDOM,我们可以方便地创建RSS元素并设置属性,然后序列化为XML字符串。 3. **ROME库**:`rome-0.9.zip`和`rome-fetcher-0.9.zip`是ROME库的...

    Rss,Atom聚合规范的XML文件解析(Rome,rssutils)

    RSS文件通常以.xml为扩展名,包含一系列“条目”(items),每个条目代表一篇单独的文章或更新。主要元素包括频道(channel)和条目(item),频道包含关于整个源的信息,如标题、描述和URL,而条目则包含每篇文章的...

    RSS是RSS的jar包

    - 更新RSS feed:修改现有RSS feed的内容,如添加、删除或更新条目。 - 集成RSS功能:将RSS阅读或发布功能嵌入到其他Java应用中,如新闻聚合应用、博客平台等。 总的来说,这个压缩包提供了开发Java RSS应用所需的...

    基于C#的RSS新闻阅读器,主要用了XML存储技术

    【标题】基于C#的RSS新闻阅读器是一个利用XML存储技术来实现的程序,它能够帮助用户订阅并管理各种新闻源和博客更新。这个软件设计的核心在于解析和处理RSS(Really Simple Syndication) feed,这是一种广泛应用的...

    phpcms rss调取内容,rss 全文输出怎么修改.doc

    【phpcms RSS全文输出修改详解】 在PHP CMS系统中,RSS(Really Simple Syndication)是一种标准,用于聚合网站内容,让订阅者通过RSS阅读器获取更新。然而,默认情况下,phpcms的RSS功能可能只提供文章的摘要,而...

    Rss_Reader

    RSS是一种基于XML的简化的数据格式,常用于博客、新闻站点和播客等,以便用户可以轻松地跟踪和订阅更新。RSS feed通常包含标题、摘要、链接、发布日期等信息,允许用户通过RSS阅读器或聚合器获取内容,无需直接访问...

    XML属性,框架结构,XML标签,XML的基本内容介绍

    6. **内容分发**:RSS(Really Simple Syndication)和Atom等基于XML的技术用于发布新闻和其他更新。 #### 六、示例分析 考虑下面的XML示例: ```xml <to>George <from>John <heading>Reminder <body>Don't ...

    一个基于新浪RSS的android RSS阅读器源码

    RSS(Really Simple Syndication)是一种内容聚合格式,常用于新闻、博客等网站,让用户能够方便地获取和订阅更新内容。在移动设备上,RSS阅读器应用是访问这些内容的重要工具。本篇文章将深入探讨一个基于新浪RSS的...

    rome-1.0RC2rss解析

    RSS通过XML格式提供数据,使得用户可以无需访问各个网站就能获取最新的更新。罗马(Rome)是一个开源的Java库,专门用于处理RSS和Atom feeds,便于开发者轻松集成RSS功能到他们的应用中。 Rome 1.0RC2是该项目的一...

    java源码:Java+XML写的RSS阅读器.rar

    RSS是一种用于发布和订阅内容的XML标准,通常用于博客、新闻站点和其他定期更新的内容。 【描述】:“Java+XML写的RSS阅读器.rar”是一个包含源代码的压缩包,开发者使用Java语言来处理和解析XML文件,从而实现RSS...

    RSS 的实现代码详细

    在Python中,可以使用`xml.etree.ElementTree`库来处理RSS XML,创建、读取和修改RSS文件。在Java中,`javax.xml.parsers`包提供了类似的解析功能。PHP则有`DOMDocument`和`SimpleXMLElement`类。 **RSS的使用与...

    Java and XML, 3rd Edition

    您将学习到如何为同步的内容创建、读取或者修改RSS feeds,以及如何运用XML、Ajax和Adobe Flash来为下一代的网络站点注入活力。 书中的主题如下: *XML基础,包括DTD、命名空间(namespace)、XML Schema和...

    RSS Utilities Package 下载

    RSS 文件通常以 XML 格式编写,使得用户可以通过RSS阅读器轻松获取和跟踪更新,无需直接访问网站。 本下载包名为“RSS Utilities Package”,它包含了一些有助于处理RSS的工具。这个包的核心是`rssutils.jar`文件,...

    Java开发的RSS项目

    RSS是一种用于发布和订阅内容的XML格式,它允许用户通过聚合器轻松地跟踪多个网站的更新,而无需逐个访问这些网站。在这个项目中,开发者已经创建了一个工具类,对RSS的生成进行了封装,方便其他开发者使用。 首先...

Global site tag (gtag.js) - Google Analytics