1.使用dom4j技术对dom_demo.xml进行增删改查
 首选要下载dom4j的jar包
 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/dom4j
 下载好后进行解压,解压完成后根目录中出现的dom4j-1.6.1.jar就是我们需要的jar包

1.1导包过程如下:
 在工程名下简历一个文件夹lib
 复制dom4j-1.6.1.jar到lib下
 右键点击dom4j-1.6.1.jar,选择build path,选择add to build path,然后jar包就导入进去了
 
 关于dom4j操作xml文件的使用方法,可以参看下载包中的docs文件下的index.html
 注:每个jar包中都有一个快速使用jar的方法,对于这个dom4j就是点击左边栏中的quick start

1.2  dom_demo.xml内容如下:

<?xml version="1.0" encoding="utf-8"?>

<书架>
<书>
<书名>java web 开发</书名>
<售价>39.0</售价>
</书>
<书>
<书名>java核心技术</书名>
<作者>李九</作者>
<售价>40.0</售价>
</书>
<书>
<书名>c语言程序设计</书名>
<作者>王五</作者>
<售价>60</售价>
</书>
</书架>

1.3 XmlUtils.java

  这个类是用来作为工具类使用的

package cn.zyf.utils;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter; public class XmlUtils {
private XmlUtils(){} public static Document getDocument() throws DocumentException{
SAXReader reader = new SAXReader();
return reader.read("src/dom_demo.xml"); } public static void writeDocument(Document document) throws IOException{
/*
OutputStreamWriter os= new OutputStreamWriter(new FileOutputStream("src/dom_demo.xml"), "utf-8");
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter( os, format );
*或者可以有另一种写法
*/
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("src/dom_demo.xml"), format ); writer.write( document );
writer.close();
}
}

1.4  DomXmlDemo.java代码如下

package cn.zyf.dom;

import java.io.IOException;
import java.util.Iterator; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test; import cn.zyf.utils.XmlUtils; public class DomXmlDemo { /**
* @param args
* @throws DocumentException
*/
//curd
@Test
public void elementFind() throws DocumentException{ //加载文档
Document document = XmlUtils.getDocument(); //获得根元素
Element root = (Element) document.getRootElement();
//System.out.println("根元素: "+ root.getName()); for(Iterator iter = root.elementIterator(); iter.hasNext();){
Element linkman = (Element)iter.next();
System.out.println("元素名为: "+ linkman.getName());
String bookName = linkman.elementText("书名");
String author = linkman.elementText("作者"); System.out.println("书名:"+ bookName + " 作者:" + author);
}
} //添加一个元素,书,书名:c语言程序设计,作者:王五,价格:60
@Test
public void elementadd() throws DocumentException, IOException{ Document document = XmlUtils.getDocument();
Element root = (Element)document.getRootElement(); Element book = root.addElement("书");
//.addAttribute("书名", "c语言程序设计").addAttribute("作者", "王五").addAttribute("价格", "50");
Element bookName = book.addElement("书名").addText("c语言程序设计");
Element bookAuthor = book.addElement("作者").addText("王五");
Element bookPrice = book.addElement("售价").addText("60"); XmlUtils.writeDocument(document);
} //添加属性
@Test
public void attributeadd() throws DocumentException, IOException{
Document document = XmlUtils.getDocument();
Element root = (Element)document.getRootElement(); Element bookAuthor = root.element("书").element("作者");
bookAuthor.addAttribute("年龄", "30"); XmlUtils.writeDocument(document);
} //修改第二本书的作者
@Test
public void elementModify() throws DocumentException, IOException{
Document document = XmlUtils.getDocument();
Element root = (Element)document.getRootElement(); //获得作者
Element bookAuthor = ((Element)root.elements("书").get(1)).element("作者"); //修改名字
bookAuthor.setText("李九"); XmlUtils.writeDocument(document); } //删除指定的节点
//删除第一本书的作者
@Test
public void elmentDelet() throws IOException, DocumentException{
Document document = XmlUtils.getDocument();
Element root = (Element)document.getRootElement(); Element bookAuthor = root.element("书").element("作者");
bookAuthor.getParent().remove(bookAuthor); XmlUtils.writeDocument(document);
} }

使用dom4j对xml文件进行增删改查的更多相关文章

  1. Java使用DOM4J对XML文件进行增删改查操作

    Java进行XML文件操作,代码如下: package com.founder.mrp.util; import java.io.File; import java.util.ArrayList; i ...

  2. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  3. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  4. php对xml文件的增删改查

    源文件<?xml version="1.0" encoding="utf-8"?><root>  <endTime>2016 ...

  5. C# 本地xml文件进行增删改查

    项目添加XML文件:FaceXml.xml,并复制到输出目录 FaceXml.xml <?xml version="1.0" encoding="utf-8&quo ...

  6. dom4j解析xml文档(增删改查)

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  7. xml 文件的增删改查

    序列化和反序列化helper using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  8. java对xml文件做增删改查

    http://www.cnblogs.com/wangchenyang/archive/2011/08/23/2150530.html http://www.blogjava.net/weishuan ...

  9. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

随机推荐

  1. IntelliJ 一键添加双引号

    IntelliJ IDEA(目前最新版本为2016.2.5) 不直接支持一键向选取内容添加双引号,但可以通过配置 Live Template 实现此功能. 以下为配置方法(针对2016.2.5版,其它 ...

  2. structDemo1

    structDemo1 # include <iostream.h> # include <malloc.h> enum EType{ One = ,Tow,Three }; ...

  3. django中form表单的提交:

    一,关于表单: 表单在百度百科的解释:   表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法. 表单域 ...

  4. C#编译器对于dynamic对象到底做了什么

    private static void TestMethod() { //dynamic 仅仅是个占位符而已 dynamic p1 = , Y = }; //对dynamic对象p1的X属性访问通过C ...

  5. 单位有b\B\K\M\G的相互转换

    计算机存储计量单位 1. 计算机最小存储计量单位是:BIT(位) 2. 计算机最基本存储计量单位是:Bytes(字节) 3. Bit和Bytes的关系:8Bit=1Bytes 4. 其他常用单位:1K ...

  6. 在网页中插入CSS样式表的几种方法

    1. 链入外部样式表 链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head> ...

  7. WinDump使用方法

    转自:http://blog.csdn.net/weiyuweizhi/article/details/4326174 在命令行下启动windump.exe 参数列表: -a              ...

  8. 如何从PDF文件中提取矢量图

    很多时候我们需要PDF文档中的插图,直接用pdf中的复制或者截屏软件只能提取位图格式的图片,放大缩小难免失真. 本文教大家一种一种从pdf中提取矢量图的方法. 工具软件: 1 adobe acroba ...

  9. jQuery 参考手册 - 效果

    (speed可选:规定动画的速度.默认是 "normal",可能的值:毫秒(比如 1500)"slow""normal""fast ...

  10. HW4.21

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...