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显示已经更新)。
上面的这两个实现都是在测试xmlrpc的cloud实现项目下作的。
如果大家有好的建议和思路或者实现,请不吝赐教,谢谢。
分享到:
相关推荐
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
RSS(Really Simple Syndication)是一种XML格式,常用于发布新闻提要,使得用户可以订阅并获取最新的内容更新。RSS文件包含一系列条目,每个条目代表一篇文章、博客post或其他信息单元。通过动态生成RSS文件,...
描述中提到的“在main方法中将参数换成自己的RSS地址即可”,意味着示例代码应该提供了一个通用的框架,使用者只需更改RSS URL即可适应不同的信息源。 标签中的"读取rss"、"SAX解析XML"、"sax"、"xml"、"rss"进一步...
RSS是一种用于发布和聚合内容的XML格式,通常用于新闻、博客和其他在线媒体的更新。本教程将深入探讨四种在Android中读取RSS XML源代码的方法,并提供可直接运行的程序示例。 一、SAX解析器 SAX(Simple API for ...
在C#中,XML文件的操作主要依赖于.NET框架提供的System.Xml命名空间,它包含了一系列类库用于解析、创建和修改XML文档。 XML文件结构清晰,数据以节点的形式组织,包括元素(Element)、属性(Attribute)、文本...
在IT行业中,RSS(Really Simple Syndication)和Atom是两种广泛使用的XML格式,用于发布和订阅Web内容。这两种格式都允许用户通过聚合器获取和跟踪更新,而无需直接访问各个网站。下面我们将深入探讨RSS和Atom的...
它可以用来创建、修改和操作XML文档,对于构建RSS XML文件非常有用。通过JDOM,我们可以方便地创建RSS元素并设置属性,然后序列化为XML字符串。 3. **ROME库**:`rome-0.9.zip`和`rome-fetcher-0.9.zip`是ROME库的...
RSS文件通常以.xml为扩展名,包含一系列“条目”(items),每个条目代表一篇单独的文章或更新。主要元素包括频道(channel)和条目(item),频道包含关于整个源的信息,如标题、描述和URL,而条目则包含每篇文章的...
- 更新RSS feed:修改现有RSS feed的内容,如添加、删除或更新条目。 - 集成RSS功能:将RSS阅读或发布功能嵌入到其他Java应用中,如新闻聚合应用、博客平台等。 总的来说,这个压缩包提供了开发Java RSS应用所需的...
【标题】基于C#的RSS新闻阅读器是一个利用XML存储技术来实现的程序,它能够帮助用户订阅并管理各种新闻源和博客更新。这个软件设计的核心在于解析和处理RSS(Really Simple Syndication) feed,这是一种广泛应用的...
【phpcms RSS全文输出修改详解】 在PHP CMS系统中,RSS(Really Simple Syndication)是一种标准,用于聚合网站内容,让订阅者通过RSS阅读器获取更新。然而,默认情况下,phpcms的RSS功能可能只提供文章的摘要,而...
RSS是一种基于XML的简化的数据格式,常用于博客、新闻站点和播客等,以便用户可以轻松地跟踪和订阅更新。RSS feed通常包含标题、摘要、链接、发布日期等信息,允许用户通过RSS阅读器或聚合器获取内容,无需直接访问...
6. **内容分发**:RSS(Really Simple Syndication)和Atom等基于XML的技术用于发布新闻和其他更新。 #### 六、示例分析 考虑下面的XML示例: ```xml <to>George <from>John <heading>Reminder <body>Don't ...
RSS(Really Simple Syndication)是一种内容聚合格式,常用于新闻、博客等网站,让用户能够方便地获取和订阅更新内容。在移动设备上,RSS阅读器应用是访问这些内容的重要工具。本篇文章将深入探讨一个基于新浪RSS的...
RSS通过XML格式提供数据,使得用户可以无需访问各个网站就能获取最新的更新。罗马(Rome)是一个开源的Java库,专门用于处理RSS和Atom feeds,便于开发者轻松集成RSS功能到他们的应用中。 Rome 1.0RC2是该项目的一...
RSS是一种用于发布和订阅内容的XML标准,通常用于博客、新闻站点和其他定期更新的内容。 【描述】:“Java+XML写的RSS阅读器.rar”是一个包含源代码的压缩包,开发者使用Java语言来处理和解析XML文件,从而实现RSS...
在Python中,可以使用`xml.etree.ElementTree`库来处理RSS XML,创建、读取和修改RSS文件。在Java中,`javax.xml.parsers`包提供了类似的解析功能。PHP则有`DOMDocument`和`SimpleXMLElement`类。 **RSS的使用与...
您将学习到如何为同步的内容创建、读取或者修改RSS feeds,以及如何运用XML、Ajax和Adobe Flash来为下一代的网络站点注入活力。 书中的主题如下: *XML基础,包括DTD、命名空间(namespace)、XML Schema和...
RSS 文件通常以 XML 格式编写,使得用户可以通过RSS阅读器轻松获取和跟踪更新,无需直接访问网站。 本下载包名为“RSS Utilities Package”,它包含了一些有助于处理RSS的工具。这个包的核心是`rssutils.jar`文件,...
RSS是一种用于发布和订阅内容的XML格式,它允许用户通过聚合器轻松地跟踪多个网站的更新,而无需逐个访问这些网站。在这个项目中,开发者已经创建了一个工具类,对RSS的生成进行了封装,方便其他开发者使用。 首先...