<?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>
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();
}
}
分享到:
相关推荐
### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...
本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。...
### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...
本项目“java实现Xml文件读写”提供了一个完整的工程实例,包含了对XML文件进行添加、修改和读取的基本操作。 首先,要实现XML文件的读取,Java提供了`javax.xml.parsers`和`org.w3c.dom`这两个核心包。其中,`...
在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。下面将详细介绍这四种方法。 1....
Java操作XML文件是Java开发中常见的一项任务,特别是在处理配置、数据交换或存储结构化信息时。XML(Extensible Markup Language)是一种标记语言,它的结构清晰、可读性强,易于机器解析和生成。本篇文章将深入探讨...
1. DOM解析:Document Object Model(DOM)是一种将整个XML文件加载到内存中的解析方法,形成一个树形结构,便于遍历和修改。Java中的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`类用于...
3. **写入XML**:创建新的XML文件或修改已有文件涉及添加、删除或更新元素、属性。这通常涉及创建新的XML元素,然后将其插入到已有的XML树中,最后将整个树写回文件。 4. **XML Schema和DTD**:为了确保XML文件的...
DOM(Document Object Model)是一种在Java中处理XML的标准方法,它将XML文档转换为一棵对象树,使得我们可以方便地访问和修改XML数据。下面将详细阐述DOM模型、解析过程以及如何在Java中使用DOM进行XML读写。 DOM...
在Java中,XML的处理分为解析、创建、修改和读写等关键操作。 首先,让我们深入了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)和注释(Comment)组成。元素是XML的...
本篇文章将详细探讨XML文件的读写操作,包括解析XML文档、创建XML文档、修改XML节点以及保存XML到文件。 1. XML文件的解析: - DOM(Document Object Model)模型:DOM将整个XML文件加载到内存中,形成一个树形...
在这个“Xml文件读写示例”中,我们将深入探讨如何在Java或类似的编程环境中进行XML文件的读取和写入操作。 XML文件的基本结构包括元素(Element)、属性(Attribute)、文本内容(Text Content)、注释(Comment)...
如果XML文件包含在jar中,我们可以使用`java.util.jar`包中的`JarInputStream`和`JarOutputStream`来读写。需要注意的是,由于jar文件是只读的,若需修改其中的XML,需要先解压,修改后再重新打包。 总结起来,Java...
Java和JavaScript(简称JS)作为两种常用的编程语言,都有处理XML文件的能力。本篇将详细介绍如何在Java和JavaScript中操作XML文件。 1. Java操作XML文件 - DOM解析:Java中使用DOM解析器(如org.w3c.dom.Document...
JDOM(Java Document Object Model)是一个纯Java的XML API,它提供了方便的方式来创建、修改和操作XML文档。本教程将详细介绍如何使用JDOM进行XML的读写操作。 首先,确保你已经将JDOM包导入到你的Java项目中。...
可以方便地将XML文件映射为Java对象,然后对这些对象进行读写操作。这种方法简单且易于理解,适合小型项目。 6. **DOM4J和JDOM** 这是两个流行的DOM解析库,提供了更友好的API来操作XML。它们允许直接修改XML元素...
本篇文章将详细探讨如何使用Java进行XML的读写操作,主要包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)三种解析方式。 **DOM解析** DOM解析器将整个XML文档加载到...
为了深入理解这些概念,你可以参考Java的官方文档,学习每个API的用法,并通过实践编写代码来操作XML文件,例如,创建XML文件,读取XML文件,添加、删除和修改元素,验证XML结构等。同时,也可以查阅DOM4J、JDOM等第...