package util;
import java.util.Vector;
import module.News;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class ParseXml {
Vector n = new Vector();
public Vector parseXml(Document d) {
Element rootElement = d.getDocumentElement();
rootElement.normalize();
displayNode(rootElement, 0);
return n;
}
private void displayNode(Node node, int depth) {
if (node.getNodeType() == Node.ELEMENT_NODE) {
NodeList childNodes = node.getChildNodes();
int numChildren = childNodes.getLength();
if (node.getNodeName().equals("item")) {
NodeList child = node.getChildNodes();
int a = child.getLength();
String title = "";
String body = "";
String time = "";
for (int j = 0; j < a; j++) {
String s;
String tagname = null;
try {
tagname = child.item(j).getNodeName();
s = child.item(j).getFirstChild().getNodeValue();
} catch (Exception e) {
s = "";
}
if (tagname.equals("title")) {
title = s;
continue;
}
if (tagname.equals("description")) {
body = s;
continue;
}
if (tagname.equals("pubDate")) {
time = s;
continue;
}
}
News news = new News(title, time, body);
n.addElement(news);//保存到vector中
} else {
for (int i = 0; i < numChildren; ++i) {
displayNode(childNodes.item(i), depth + 1);
}
}
}
}
}
分享到:
相关推荐
在Rss_SAXParser这个项目中,开发者已经实现了一个完整的RSS阅读器,它展示了如何利用SAXParser解析RSS源并将其内容呈现给用户。通过阅读项目的源代码和博客解析,可以更深入地理解SAX解析XML的实际应用。此外,该...
通过解析RSS feed,用户可以快速获取到感兴趣网站的最新内容,无需手动检查每个网站的更新。这大大提高了效率,尤其对于跟踪大量信息源的用户而言,RSS解析器是不可或缺的工具。 在标签中,"rss"表明这个项目或代码...
标题"读取RSS-SAX解析XML实例(java版)"所涉及的知识点主要集中在两个方面:一是如何读取RSS(Really Simple Syndication)数据,二是使用SAX解析XML文件。 RSS是一种用于发布新闻、博客和其他定期更新内容的格式...
在IT领域,尤其是在软件开发中,处理XML文件是一项常见的...通过这种方式,我们可以高效地解析RSS XML文件,同时利用正则表达式进行文本清理。这展示了C++ Boost库的强大功能,尤其是对于XML处理和文本操作的灵活性。
在解析RSS或Atom XML文件时,通常会首先加载文件内容,然后使用DOM(Document Object Model)或SAX(Simple API for XML)解析器将XML转换为内存中的数据结构。DOM将整个XML文件加载到内存中,方便访问任何部分,而...
- 在实际应用中,需要注意异常处理,例如网络连接失败、XML 文件格式错误等情况。 - `Constant` 类中包含了常量字符串,用于指定 XML 文件中元素的路径。在实际代码中,这些常量需要被正确定义。 - 为提高代码可读性...
最后,我们将所有的元素附加到`$rss`,然后保存成XML文件: ```php $rss->appendChild($channel); $doc->appendChild($rss); file_put_contents('rss.xml', $doc->saveXML()); ``` 在这个简单的`RSS.php`示例中,...
RSS阅读器需要解析XML文件,提取RSS源中的信息,如标题、链接、描述等。这通常通过XmlDocument或XPathDocument类来完成。例如,使用XPath(XML路径语言)查询XML文件中的特定节点,获取RSS源的各个部分: ```csharp...
RSS 格式书写规范和 Java 中解析 DOM 的四种...RSS 文件格式是一个灵活的 XML 方言,用于描述 Web 内容和元数据。Java 中有多种方式可以解析 DOM,包括使用 Java 的内置 XML 解析器、Apache Xerces、JAXP 和 DOM4J。
在本文中,我们将深入探讨如何使用JavaScript解析RSS(Really Simple Syndication) feed,这是一种常见的数据格式,用于发布新闻提要、博客更新和其他定期发布的内容。RSS订阅允许用户获取网站的最新内容而无需直接...
在描述中提到的“博文链接”,可能是一个详细的教程,讲解如何使用Java来生成RSS XML文件和读取RSS URL。通常,这会涉及到以下几个步骤: 1. **生成RSS XML**:这通常需要使用Java的XML处理库,如JDOM(Java ...
《老罗Android开发视频教程》中关于“android解析xml文件”的部分,主要涵盖了如何在Android系统中处理XML数据,包括基础的DOM解析、SAX解析以及更高效的Pull解析器。 一、DOM解析 DOM(Document Object Model)...
在这个在线解析XML的示例中,我们将会探讨如何通过网页接口解析XML文件,以获取并展示其中的数据。 首先,XML的结构与HTML类似,但更加灵活和自定义化。它由一系列元素组成,每个元素可以有子元素,同时可以包含...
1. **RSS解析**:RSS阅读器首先需要解析RSS源的XML文件。Java提供了一些库,如JDOM、DOM4J和Java的内置DOM解析器,可以用来处理XML文档。解析器将XML内容转换为易于处理的对象结构,如RSS频道、条目、作者等。 2. *...
如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.rometools</groupId> <artifactId>rome <version>1.18.0 ``` 接下来,我们将通过一个简单的实例来展示如何使用Rome解析RSS ...
XML在Web服务(如SOAP)、配置文件(如Spring框架)、数据交换(如RSS、Atom)、文档存储(如DocBook)等方面有着广泛应用。理解并掌握XML的解析和操作是现代软件开发中的必备技能。 六、XML技巧与文摘 在实际使用...
要生成RSS源,你需要了解XML语法并按照RSS规范编写XML文件。这通常涉及以下步骤: - 定义频道(channel)信息:包括频道标题、描述和URL。 - 创建项目(item):每个项目应包含标题、描述、链接和发布日期。 - ...
这些工具解析XML文件,提取条目,并以用户友好的方式呈现。一些浏览器插件和桌面应用也支持RSS和Atom订阅。 总的来说,`rss.xml`和`atom.xml`文件代表了RSS和Atom两种XML格式在实际应用中的实例。它们提供了结构化...
3. **RSS库使用**:学习如何使用如`rsslib.jar`这样的库来创建新的RSS feed,更新现有feed,或者从URL抓取并解析RSS数据。 4. **XML和RSS的序列化与反序列化**:如何将Java对象转换为XML/RSS格式,以及如何从XML/...