代码如下:
package com.accp.shi;
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
public class ReadXML {
public static void main(String[] args){
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //文件夹制造工厂
DocumentBuilder bf = factory.newDocumentBuilder(); //用工厂制造出一个文件夹
Document doc = bf.parse("D:\\news.xml"); //使用DocumentBuilder类对象的parse()方法,来解析XML文件,并返回Document对象
NodeList channels = doc.getElementsByTagName("channel");
for(int i =0;i < channels.getLength(); i++){
Element channel = (Element)channels.item(i);
Attr idAttr = doc.createAttribute("id");
idAttr.setValue("hello");
channel.setAttributeNode(idAttr);
NodeList childs = channel.getChildNodes();
for(int j=0;j<childs.getLength();j++){
Node child = childs.item(j);
if(child.getNodeName().equals("title"))
System.out.println("<title>的频道标题:"+child.getFirstChild().getNodeValue());
if(child.getNodeName().equals("description"))
System.out.println("<description>频道详细信息:"+child.getFirstChild().getNodeValue());
if(child.getNodeName().equals("item")){
NodeList items = child.getChildNodes();
for(int k=0;k<items.getLength();k++){
Node item = items.item(k);
if(item.getNodeName().equals("title"))
System.out.println("<title>的内容是新闻标题:"+item.getFirstChild().getNodeValue());
if(item.getNodeName().equals("link"))
System.out.println("<link>的内容是新闻链接:"+item.getFirstChild().getNodeValue());
if(item.getNodeName().equals("description"))
System.out.println("<item>/<description>的内容是新闻简介:"+item.getFirstChild().getNodeValue());
}
}
}
}
writeToXml(doc,"D:\\news2.xml");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 将读出来的XML文件写到另一个XML文件中去
* 等于是新创建一个XML文件
* @param doc Document对象
* @param rptdesign 要存放的文件路径
*/
private static void writeToXml(Document doc, String rptdesign) {
try {
OutputStream fileOutputStream = new FileOutputStream(rptdesign);
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(fileOutputStream);
transformer.transform(source, result);
fileOutputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
以下是要被读取的XML文件
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>新浪新闻</title>
<description>新浪新闻频道</description>
<item>
<title>欧文里程碑进球直追三大传奇 </title>
<link>http://sports.06383166011.shtml</link>
<description>欧锦赛预选赛</description>
</item>
</channel>
<channel>
<title>QQ新闻</title>
<description>QQ新闻频道</description>
<item>
<title>中国Q民已达到2.5亿</title>
<link>http://www.qq.com</link>
<description>网民新语</description>
</item>
<item>
<title>北京申奥成功</title>
<link>http://www.qq.com</link>
<description>网民新语</description>
</item>
<item>
<title>预祝北京奥运成功</title>
<link>http://new.163.com</link>
<description>网民新语</description>
</item>
</channel>
</rss>
分享到:
相关推荐
#### 三、Java读取XML文件 对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java ...
在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。
在 Java 开发中,XML 配置文件的使用变得越来越普遍,许多项目都开始使用 XML 作为配置文件的格式,例如 Tomcat 的安装配置文件和 J2EE 的配置文件。使用 XML 作为配置文件有很多好处,例如可以轻松地更改配置项,而...
在Java编程中,XML(可扩展标记语言)是一种常见的数据交换格式,用于存储和传输结构化数据。要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document ...
本文将深入探讨如何在Java中进行XML文件的导入与导出。 首先,理解XML的基本结构至关重要。XML文件由一系列的元素构成,每个元素都有可能包含子元素或者文本内容。元素通过开始标签 `<tag>` 和结束标签 `</tag>` ...
在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它具有结构化、可扩展性,常用于存储和传输数据。本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. *...
在Java中读取XML文件是一项常见的任务,XML(Extensible Markup Language)作为一种结构化数据存储格式,被广泛用于数据交换、配置文件等场景。要实现这个功能,我们需要使用Java的标准库JAXB(Java Architecture ...
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
使用 XML 作为 Java 的配置文件有很多好处,从 Tomcat 的安装配置文件和 J2EE 的配置文件中,我们已经看到 XML 的普遍应用,让我们也跟随流行趋势用 XML 武装起来。 现在关键是如何读取 XML 配置文件?有好几种 XML...
总结起来,Java读取本地XML文件涉及的主要步骤包括创建`DocumentBuilderFactory`,构建`DocumentBuilder`,解析XML文件为`Document`对象,然后通过`Document`对象访问和操作XML结构。对于复杂需求,XPath可以提供更...
Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...
xml文件导入到mysql数据库中,包括文件:ConnectionUtils.java,InsertDT.java,db_mysql.properties,test01.xml,需要的jar包dom4j-1.6.1.jar,mysql-connection-java-3.1.1.3-bin.jar,jaxen-1.1-beta-7.jar
在上述代码中,你需要替换`"path_to_your_xml_file.xml"`为你的XML文件路径,以及`"tag_name"`和`"attribute_name"`为你的XML文件中实际的元素标签名和属性名。这段代码会读取XML文件,找到指定标签的所有节点,并...
在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。下面将详细介绍这四种方法。 1....
在Java编程语言中,读取文本文件(如.txt)和XML文件是常见的任务,这涉及到I/O操作和解析技术。下面我们将详细讲解如何使用Java来完成这些任务。 首先,我们来探讨如何用Java读取.txt文件。在Java中,我们可以使用...
在Java编程中,处理XML文件是常见的需求,包括读取XML文件的内容以及将数据写入XML文件。下面将详细介绍Java中如何进行XML文件的读取和写入操作。 一、读取XML文件 1. DOM解析:Document Object Model(DOM)是一...
ParseXML类是XML配置文件的读取器,该类使用SAXParser解析XML文件并将配置信息存放在Properties对象中。 ParseXML类中,我们首先创建了一个SAXParserFactory对象,并使用该对象创建了一个SAXParser对象。然后,我们...
在Java编程中,处理XML文件是一项常见的任务,尤其是在数据交换、配置存储或文件解析等领域。当我们需要读取的XML文件结构复杂,包含嵌套的元素时,递归方法就显得尤为适用。本篇文章将深入探讨如何使用Java递归地...
这段代码中,`transform`方法接受DOMSource对象作为输入,将其数据转换后写入StreamResult对象所表示的XML文件中。这样,XML文档的内容就被更新并保存到了指定的文件路径。 总的来说,Java中的XML文件处理主要依赖...