`
Vimesly
  • 浏览: 30011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Java操作xml文件里的值

阅读更多
package net.fiyu.edit;

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(String path, String p_value) {
System.out.println("传到后台的path的值::" + path + "-------------------");
Document document = load(path);
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() == "suploaddir") {
subnode.getFirstChild().setNodeValue(p_value);
}
}

}
}

doc2XmlFile(document, path);
}

public static void main(String args[]) throws Exception {
String p_value = "/data/news/3719/";
UpdateXml
.xmlUpdateDemo(
"D:\\Tomcat\\webapps\\ROOT\\WEB-INF\\style.xml",
p_value);
}
}
分享到:
评论

相关推荐

    java读取xml文件生成文件

    在给定的场景中,我们主要关注如何使用Java来读取XML文件并根据需求生成新的文件。以下是关于这个主题的详细说明。 首先,Java中的`javax.xml.parsers`和`org.w3c.dom`包提供了处理XML的基本工具。`javax.xml....

    java读取xml文件

    为了读取XML文件,开发者通常会利用Java API或第三方库。本篇将详细介绍如何在Java中读取XML文件,以及如何利用第三方库增强XML处理能力。 首先,Java标准库JDK提供了一个内置的API——javax.xml.parsers包,它包含...

    Java读取xml文件的四种方法.doc

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常见的方法,分别使用 DOM、DOM4J、JDOM 和 SAX 解析器。 第一种方法:使用 DOM DOM(Document Object Model)是一种树形结构,...

    JAVA高手解析XML配置文件的读取操作.pdf

    JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用场景,并提供了一个使用 SAX 解析器读取 XML ...

    java xml,java生成xml文档,java操作XML文件设置值

    二、Java操作XML文件设置值 1. DOM解析:使用DOM解析XML文件时,可以查找特定节点并修改其属性或文本内容。例如: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform....

    Java读取XML文件自制工具类

    用WC3的DOM实现对XML文件的读取。 方法摘要: //通过文件路径及文件名读取xml public XMLReader(String path, String filename); //初始化读取包下的的XML文件 public XMLReader(Package package1, String fileName)...

    java利用jdom读取xml文件

    下面将详细介绍如何使用JDOM来读取XML文件。 首先,我们需要了解XML的基本概念。XML(eXtensible Markup Language)是一种标记语言,用于存储和传输结构化数据。它的结构清晰,易于人和机器理解,广泛应用于网络...

    使用java解析XML文件,解析完之后将解析结果导入mysql数据库中

    然后,调用`parse()`方法读取XML文件并将其解析为`Document`对象。 - JAXB解析:如果XML文件与Java对象模型有明确的一对一关系,JAXB提供了一种更便捷的方法。使用`Unmarshaller`可以从XML文件中创建Java对象,而`...

    java操作xml文件的一个简单代码

    Java操作XML文件是软件开发中常见的任务,XML(Extensible Markup Language)因其结构化和可扩展性被广泛用于数据交换和存储。以下是一些关于如何使用Java处理XML文件的关键知识点: 1. **JAXB(Java Architecture ...

    用java读取xml文件的四种方法.doc

    Java 读取 XML 文件的四种方法 在 Java 中读取 XML 文件有多种方法,本文将介绍四种常用的方法:DOM 实现方法、DOM4J 实现方法、JDOM 实现方法和SAX 实现方法。 DOM 实现方法 DOM(Document Object Model)是 W3C...

    自己写的java对xml文件操作的类

    本项目中,你创建了一个自定义的Java类,用于实现XML文件的基本操作,包括读取、属性和值的读取以及元素的增加和删除。 首先,我们来了解一下XML文件的基础操作。XML文件由一系列元素组成,每个元素可能包含属性和...

    java写XML文件和读取XML文件《一个优秀程序员必会知识要点》

    ### 一、Java读取XML文件 #### 1. 使用DOM解析器 DOM(Document Object Model,文档对象模型)是一种平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。在Java中,可以使用`...

    JAVA 读取XML文件

    要读取XML文件,开发者通常会使用特定的库或API,本案例中提到了“JDOM”,这是一个Java API,用于处理XML文档。 **JDOM简介** JDOM是Java Document Object Model的缩写,它是Java开发人员处理XML文档的一种高效、...

    Java从xml文件里面读写图片

    通过DOM4J,我们可以方便地读取XML文件,找到特定元素,并从中提取数据。此外,它还支持XPath表达式,这在寻找包含图片数据的特定节点时非常有用。 2. **Jaxen库介绍**: Jaxen是用于多种Java XML API的XPath...

    java 解析XML修改路径值

    - `DocumentBuilder.parse()`方法用于读取XML文件并生成`Document`对象。 - `Document`对象提供了查找和修改元素的方法,如`getElementsByTagName()`, `getElementsByTagnameNS()`, `getElementById()`等。 - 要...

    Xml.zip_JAVA读取xml_XML读取_java_saxreader

    本教程将重点介绍如何使用SAXReader在Java中读取XML文件。 SAXReader是JDOM库中的一个类,它实现了SAX解析器接口,适用于处理大型XML文档,因为它不会将整个XML文档加载到内存中,而是采用事件驱动的方式,逐个处理...

    java 解析xml 多级

    而SAX解析器采用事件驱动的方式,逐行读取XML文件,适合处理大型XML文件以避免内存消耗。 对于多级XML,DOM解析更便于操作。以下是一个使用Java DOM解析XML的步骤: 1. 引入必要的库: 需要引入`javax.xml....

    解析XML文件的四种方式整合

    SAX解析器采用事件驱动的方式,逐行读取XML文件,触发相应的事件处理器。这种方式节省了内存,适合处理大文件。在Java中,需要实现DefaultHandler接口并重写其方法,然后通过SAXParserFactory获取SAXParser进行解析...

    java用sax实现重写xml文件内容

    在Java中,SAX解析器不直接支持修改XML文件,但我们可以使用一种间接的方法来实现这一目标:先读取XML文件,然后在内存中构建一个新的XML结构,再将这个新结构写回文件。下面是一个简化的步骤: 1. **创建SAX解析器...

    自制JAVA导出XML文件

    本篇文章将深入探讨如何在Java中自行动手创建程序来导出XML文件。 XML文件的生成通常涉及两个主要步骤:创建XML文档结构和填充数据。首先,我们需要了解XML的基本语法。XML文档以`&lt;?xml version="1.0" encoding=...

Global site tag (gtag.js) - Google Analytics