Message.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<users>
<Messages>
<sendName>sendUsers</sendName>
<receiveName>snake</receiveName>
<date>2007-12-04 12:20:00</date>
<status>0</status>
<message>this is Content</message>
</Messages>
</users>
java:
package com.lianxi.DAO;
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class UpdateXml {
public static boolean doc2XmlFile(Document document,String filename)
{
boolean flag = true;
try
{
/** 将document中的内容写入文件中 */
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
/** 编码 */
//transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(new File(filename));
transformer.transform(source, result);
}catch(Exception ex)
{
flag = false;
ex.printStackTrace();
}
return flag;
}
public static Document load(String filename)
{
Document document = null;
try
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
document=builder.parse(new File(filename));
document.normalize();
}
catch (Exception ex){
ex.printStackTrace();
}
return document;
}
/**
* 演示修改文件的具体某个节点的值
*/
public static void xmlUpdateDemo()
{
Document document = load("c://Message.xml");
Node root=document.getDocumentElement();
/** 如果root有子元素 */
if(root.hasChildNodes())
{
/** ftpnodes */
NodeList ftpnodes = root.getChildNodes();
/** 循环取得ftp所有节点 */
for (int i=0;i<ftpnodes.getLength();i++)
{
NodeList ftplist = ftpnodes.item(i).getChildNodes();
for (int k=0;k<ftplist.getLength();k++)
{
Node subnode = ftplist.item(k);
/** 删除ftp-chn节点 */
// if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="ftp-chn")
// {
// ftpnodes.item(i).removeChild(subnode);
// }
/** 修改ftp-host的值为 192.168.0.1 */
if (subnode.getNodeType()==Node.ELEMENT_NODE&&subnode.getNodeName()=="status")
{
subnode.getFirstChild().setNodeValue("1");
}
}
}
}
doc2XmlFile(document,"c://Message.xml");
}
public static void main(String args[])throws Exception
{
UpdateXml.xmlUpdateDemo();
}
}
转自:http://zhidao.baidu.com/question/46959510
分享到:
相关推荐
本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将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....
对于XML文件的读取,我们可以采用Java标准库中的`BufferedReader`配合`InputStreamReader`的方式来进行处理。这样可以在读取文件的同时指定正确的字符编码,从而避免乱码问题。 ```java import java.io....
下面将详细介绍Java中如何进行XML文件的读取和写入操作。 一、读取XML文件 1. DOM解析:Document Object Model(DOM)是一种将整个XML文件加载到内存中的解析方法,形成一个树形结构,便于遍历和修改。Java中的`...
DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点遍历和操作XML数据。使用Java的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口可以实现DOM解析。 ```java ...
在Java编程语言中,读取文本文件(如.txt)和XML文件是常见的任务,这涉及到I/O操作和解析技术。下面我们将详细讲解如何使用Java来完成这些任务。 首先,我们来探讨如何用Java读取.txt文件。在Java中,我们可以使用...
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
本篇将详细介绍如何读取和修改XML文件,以及相关的关键知识点。 1. **XML基本结构** XML文件由元素(Elements)、属性(Attributes)、文本内容(Text Content)等组成。元素是最基本的构建块,以尖括号 `和 `>` ...
对于导出XML文件,Java提供了`Transformer`和`TransformerFactory`类来将DOM树转换为XML字符串或直接写入文件。首先创建`TransformerFactory`,然后使用`newTransformer()`创建`Transformer`实例,最后调用`...
Java语言在处理XML文件时,提供了丰富的API和库,使得我们可以轻松地读取、解析、修改和生成XML文档。在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明...
为了读取XML文件,开发者通常会利用Java API或第三方库。本篇将详细介绍如何在Java中读取XML文件,以及如何利用第三方库增强XML处理能力。 首先,Java标准库JDK提供了一个内置的API——javax.xml.parsers包,它包含...
在 Java 开发中,XML 配置文件的使用变得越来越普遍,许多项目都开始使用 XML 作为配置文件的格式,例如 Tomcat 的安装配置文件和 J2EE 的配置文件。使用 XML 作为配置文件有很多好处,例如可以轻松地更改配置项,而...
通过以上步骤,我们便能使用JDOM库在Java中高效地读取和操作XML文件。JDOM的优势在于它提供了直观且符合Java习惯的API,使得XML处理变得更加简单。然而,对于大型XML文件,考虑到性能因素,可能需要考虑使用其他解析...
总结来说,Java操作XML文件涉及多种API和库,如DOM、SAX、StAX以及第三方库JDOM、DOM4J等。理解这些工具的工作原理和使用方法是Java开发中的重要技能,压缩包中的项目和jar包提供了一个实际操作的环境,有助于加深...
### Java读取Excel并转换为XML文件的知识点 在IT领域中,数据处理与转换是一项常见且重要的任务。本文将详细介绍如何使用Java编程语言来读取Excel文件,并将其转换成XML格式的文件。该过程涉及到了多种技术栈,包括...
总结起来,Java读取本地XML文件涉及的主要步骤包括创建`DocumentBuilderFactory`,构建`DocumentBuilder`,解析XML文件为`Document`对象,然后通过`Document`对象访问和操作XML结构。对于复杂需求,XPath可以提供更...
在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。
本教程将介绍如何使用Java读取和输出XML文件,主要涉及两个库:JDOM2和XStream。 首先,我们来了解一下JDOM2。JDOM2是一个针对Java平台的API,专门用来处理XML文档。它提供了方便的方法来创建、修改和读取XML文档。...
3. **XML读写**:在Java中,我们可以使用如JAXB(Java Architecture for XML Binding)或者DOM、SAX、StAX等API来读取和写入XML文件。JAXB允许我们将Java对象自动转换为XML,反之亦然,非常方便。DOM API则将XML文档...