用DOM4J解析XML文件案例,由于DOM4J不像JAXP属于JAVASE里,所以如果要使用DOM4J,则必须额外引入jar包,如图:

aaarticlea/png;base64,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" alt="" />

1.xml文件

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

<class>
<student>
<name>张三</name>
<sid>111111</sid>
</student>
<student>
<name>李四</name>
<sid>222222</sid>
</student>
</class>

Java代码:

import java.io.FileOutputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter; public class Dom4jCase {
static Element root;
public static void main(String[] args) throws Exception {
add();//在第一个学生里面增加性别标签<sex>男</sex>
//add2();//在第一个学生的<name>张三</name>标签后增加<home>沭阳</home>
//delete();//删除上面增加的性别标签<sex>男</sex>
//modify();//将上面增加的标签<home>沭阳</home>改为<home>江苏</home>
//select();//查询所有学生姓名
}
//在第一个学生里面增加性别标签<sex>男</sex>
private static void add() throws Exception {
Document document = getRoot();
Element s1=root.element("student");
Element sex1=s1.addElement("sex");
sex1.setText("男");
writeBack(document);
}
//在第一个学生的<name>张三</name>标签后增加<home>沭阳</home>
private static void add2() throws Exception {
Document document = getRoot();
Element s1=root.element("student");
List<Element>list=s1.elements();
Element home=DocumentHelper.createElement("home");
home.setText("沭阳");
list.add(1,home );
writeBack(document);
}
//删除上面增加的性别标签<sex>男</sex>
private static void delete() throws Exception{
Document document = getRoot();
Element s1=root.element("student");
s1.remove(s1.element("sex"));
writeBack(document);
}
//将上面增加的标签<home>沭阳</home>改为<home>江苏</home>
private static void modify() throws Exception{
Document document = getRoot();
Element s1=root.element("student");
s1.element("home").setText("江苏");
writeBack(document);
}
//查询所有学生姓名
private static void select() throws Exception{
Document document = getRoot();
List<Element> list=root.elements("student");
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i).elementText("name"));
}
}
//XML回写
private static void writeBack(Document document)throws Exception {
OutputFormat format=OutputFormat.createPrettyPrint();
XMLWriter writer=new XMLWriter(new FileOutputStream("src/1.xml"), format);
writer.write(document);
writer.close();
}
//初始化
private static Document getRoot() throws DocumentException {
SAXReader saxReader=new SAXReader();
Document document=saxReader.read("src/1.xml");
root=document.getRootElement();
return document;
}
}

用DOM4J解析XML文件案例的更多相关文章

  1. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  2. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  3. 使用DOM4J解析XMl文件与读取XML文件

    XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

  4. Dom4j解析Xml文件,Dom4j创建Xml文件

    Dom4j解析Xml文件,Dom4j创建Xml文件 >>>>>>>>>>>>>>>>>>&g ...

  5. 使用dom4j 解析xml文件

    //使用dom4j 解析xml文件,升级版,dom4j是对dom的封装 //重点 package com.offcn.utils; import java.io.File; import java.i ...

  6. dom4j 解析XML文件

    <?xml version="1.0" encoding="UTF-8"?> <!-- 手机的根节点 --> <Phones> ...

  7. 用dom4j解析xml文件并执行增删改查操作

    转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ...

  8. 【java项目实战】dom4j解析xml文件,连接Oracle数据库

    简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...

  9. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

随机推荐

  1. FFmpeg-20160418-snapshot-bin

    ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] +2秒 ; -1秒 ' +1秒 下一个帧 -> -5秒 F ...

  2. static 修饰内部类

    static一般用来修饰成员变量或函数也修饰代码块,一般不能修饰类,但是可以修饰内部类,被修饰的内部类可以直接作为一个普通类来用,不需要创建一个外部类的实例,而普通内部类的引用需要创建一个外部类的实例 ...

  3. Django~Databases

    更换数据库 migrate 下哈 admin 要重新建立 修改\mysite\settings.py DATABASES = {    'default': {        'ENGINE': 'd ...

  4. 常见kill信号

    字符名 数字名 组合键ctrl+ 备注 SIGTERM 15   kill的默认值,可以杀死后台进程 SIGKILL 9   不可忽略,必杀技 SIGTSTP 20 Z 前台组全暂停(只是组合键方式吧 ...

  5. nyoj_299_Matrix Power Series_矩阵快速幂

    Matrix Power Series 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 Given a n × n matrix A and a positive i ...

  6. Zookeeper WINDOWS 安装配置

    下载:zookeeper:http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz 解压zo ...

  7. JS 循环练习

    规律   大范围套小范围   循环   分支语句   switch case 嵌套  死循环 while(true)  打破循环   break    continue    while(true) ...

  8. linq lanbda表达式的用法

    1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq:    from s in Student ...

  9. Linux系统安装时分区的选择(推荐)

    Linux系统安装时分区的选择(推荐)  出处:http://www.cnblogs.com/gylei/archive/2011/12/04/2275987.html 前言: 以前初识Linux时, ...

  10. [Android Pro] Android打包一个Apk后,如何查看它的VersionCode、VersionName 等等。

    Android打包成Apk后,其实是一个压缩文件,我们用winrar打开也能看到里面的文件结构.还能看到AndroidManifest.但是里面的内容有点问题. 不知道是因为加密还是Android就是 ...