文档章节

dom4j动态修改xml节点的值

刀剑千秋
 刀剑千秋
发布于 2014/10/17 15:18
字数 353
阅读 36
收藏 0
package com.jyd;

import java.io.File;
import java.io.FileWriter;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Test {
    
    public static void main(String[] args) {
        String tag = "subject";
        String tagValue = "2014-10-17";
        String path1 = "WebRoot/WEB-INF/classes/com/jyd/conf/task.xml";
        String path2 = "src/com/jyd/conf/task.xml";
        try {
            Document doc = new SAXReader().read("WebRoot/WEB-INF/classes/com/jyd/conf/task.xml");
            Element root = doc.getRootElement();
            List nodeList = root.selectNodes("/jive/task/collect/"+tag+"/last");
            for (int i = 0; nodeList != null && i < nodeList.size(); i++) {
                Node tagNode = (Node)nodeList.get(i);
                System.out.println(tagNode.getText());
                tagNode.setText(tagValue);
                String text = tagNode.getText();
                System.out.println(text);
                writeToFile(doc,path2 , "UTF-8");
            }
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    public static boolean writeToFile(Document doc, String filePath,
            String encoding) {
        try {
             XMLWriter writer = new XMLWriter(new FileWriter(new File(  
                     filePath)));  
             writer.write(doc);  
             writer.close();  
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    } 
}
<?xml version="1.0" encoding="UTF-8"?>
<jive> 
  <task> 
    <collect> 
      <subject> 
        <last>2014-10-17</last> 
      </subject>  
      <domainref> 
        <last>2014-10-15</last> 
      </domainref>  
      <domainhour> 
        <last>2014-10-16 13时</last> 
      </domainhour>  
      <domainday> 
        <last>2014-10-15</last> 
      </domainday>  
      <flag> 
        <last/> 
      </flag>  
      <channelrefsort> 
        <last>2014-10-15</last> 
      </channelrefsort>  
      <user> 
        <last/> 
      </user>  
      <entity> 
        <last>2014-10-15</last> 
      </entity>  
      <editor> 
        <last>2014-10-15</last> 
      </editor>  
      <subjecref> 
        <last>2014-10-15</last> 
      </subjecref>  
      <subjecrefsort> 
        <last>2014-10-15</last> 
      </subjecrefsort>  
      <entitypv> 
        <last>2014-10-15</last> 
      </entitypv> 
    </collect> 
  </task> 
</jive>

代码内没有自己封装的函数 所以读代码的时候应该障碍不大;

© 著作权归作者所有

刀剑千秋
粉丝 3
博文 4
码字总数 2291
作品 0
北京
后端工程师
私信 提问
Dom4j的使用(全而好的文章)

Dom4j 使用简介 作者:冰云 icecloud(AT)sina.com 时间:2003.12.15 DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for w...

倚小丁
2010/11/02
0
0
XML可扩展标记语言

一、XML可扩展标记语言 1、概念: XML推出初衷是为了替换HTML,标签名可以直接定义,不能用数字开头 不能使用纯数字 区分大小写,后用做配置文件 封装数据 因为xml具有良好的格式,所以用途非...

走了丶
2017/12/13
0
0
Dom4j解析器_解析xml文档

目录 1、Dom4J是什么 2、使用dom4j解析xml 3、使用dom4j查询xml 4、使用dom4j实现 添加操作 5、使用dom4j实现在 特定位置 添加元素 6、使用dom4j实现 修改节点的操作 7、使用dom4j实现 删除节...

Eric-Zhou
02/28
0
0
如何使用DOM4J读取自定义xml文件中的默认值

我写了一个xml文件,然后为这个xml文件定义了一个xsd文件,xsd文件的作用是定义xml文件中的某些节点的属性及规则。 然后我使用DOM4J通过xpath的形式读取某个节点的某个属性值,假设该节点有4...

一条大河波浪宽
2013/09/05
610
1
Android 创建与解析XML(五)—— Dom4j方式

1、Dom4j概述 dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support fo......

长平狐
2013/01/06
104
0

没有更多内容

加载失败,请刷新页面

加载更多

Visual Paradigm 教程[UML]:如何绘制封装图?(上)

下载Visual Paradigm最新试用版 查看本教程视频文件 在项目开始时,您只有有限数量的图表,一切都简单而美观。然而,当时间过得匆匆时,已经创建了越来越多的图表,并且它们开始变得无法管理...

xiaochuachua
27分钟前
0
0
Pure-ftpd服务安装及虚拟用户设置

安装 sudo apt-get install pure-ftpd 虚拟用户设置 首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup ,专门用来管理ftp服务。也可以是能登录系统的用户,但最好是不能登...

Gm_ning
28分钟前
0
0
一位面试了阿里,滴滴,网易,蚂蚁金服,最终有幸去了网易的Java程序员【面试题分享】

前言 15年毕业到现在也近三年了,最近面试了阿里集团(菜鸟网络,蚂蚁金服),网易,滴滴,点我达,最终收到点我达,网易offer,蚂蚁金服二面挂掉,菜鸟网络一个月了还在流程中... 最终有幸去...

Java领航员
30分钟前
1
0
“大团队”和“敏捷开发”,谁说不可兼得?

阿里妹导读:当小团队的产出跟不上业务需要,团队就面临规模化的问题。从1个团队到3个团队,仍可以通过简单的团队沟通保持高效协作。当产品复杂到需要5个以上团队同时开发时,我们需要一定的...

阿里云云栖社区
34分钟前
0
0
基于虹软人脸识别Demo android人脸识别

参加一个比赛,指定用虹软的人脸识别功能,奈何虹软人脸识别要自己建人脸库,不然就只能离线用,总不能装个样子,简单看了下虹软Demo,下面决定用这种简单方法实现在线人脸识别: Android端(...

是哇兴哥棒棒哒
39分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部