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

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAqAAAAAgCAIAAABCcV1jAAAIBUlEQVR4nO2ca2/TVhjH87XyDfZF8rJfYFJfdaqnSVgVdBsvVgIZo2JKCiXKatwLAVomJdCoUldlk6YGaCbWcSm5Oo4d7YVj+/hc7DgX16T/n/wiPT4+5znGOT+fxw4JAwAAAABzR+KyAwAAAADA9IHgAQAAgDkEggcAAADmEAgeAAAAmEMgeAAAAGAOgeABAACAOQSCBwAAAOYQP8H39P5W+e213PFi5hAbNmzYsGGL7XYtd7xVftvT+5HpM/74CX7joFYovfnQ0EwAAAAgxnxoaIXSm42DWmT6jD9+gl9aP+pqnruhopi9vb3t7e0ZRwsAAADw6Wr9pfWjy44iRvgJfjFzaJomWVIsFo1+3zD6pmmYpjEYmIOBaRj9wcAslUqqqqrb6owDBgAAADiYprmYObzsKGJEOME/efKk39dZxw8G5sHBQafTURRld3d3xjEDAAAANBA8RTjB7+7u6nqP63hVVRVFURRFVYMW8flUIilXJ4+doionZ9JunHoEAERKXZEW0hW2vJLmFkdAXZEWJKV+qTHEFQieIpzgd3Z29J729LBaOjktn9TKJ7XSH6flk1rp5PRZ5c9/6vXa6Wmkgq/KyYTdmL9u86lEIpHK++1NJARVRMdC8FeWuiItDCGm2Ep6WGbNv55iciZ26rF1uR0Jq/DD4PRIw63gf9QkoxgTYnjMEKNiSoKvpMc9Rd6TICn1uAveuS64F8vwLFD/tNwryDM864B0xfC98CB4inCCV1W1p3WL5WPrT13XP71I67puGEaxfGwt5RVFCehzaoKvyslkMtix1l1AKpUUCN4vnqBjwVWkknamFXf+d+ddo5JeIAoXpHRaome70Wb7uiJJkiSqLAyD7dHbJlvB/6gJRzE2IrlG2UUsBC/oKYaCryvSMCT3S8D/angP4g2EGJ7nMPJcUu1B8BThBK8oitbtbD1/pWlat9v97/F35/u3P1UeaZq29fxVxIKvysmkXB25sarMl7TVzHjHAlBXJEmpU5MUNWPRE9iIs73V9GiV7TAEPfLqjzzRCvZC8BC8H86Q/b4agiK7AWfFTp488lxSx0LwFOEEXygUup1OTt1vNBoXFxf/FpbPv//q/fv3Hz9+zKn71vP4QqHAa8xNgicSCcLJZLnj0HwqkZTzctIptWu5x9ledgUfYGHB7qqcTMpyiolrxGOd4uowWmIY1u58Stwu+PIhZiFvsp6YkjhqDE4728oeTQ3UXD8NwRPrrvFHMRECGdhlxOrNjYWI2FtINjb8TIzAVRE1JKuqW5NYU5JLyqAnFbSUxL3QTTAnwS0IGUO0uCP2+2rwCogd6Qp9FXoPoE8OBE8RTvD5fL7Tbmcequfn5z9lH9+5ee323bu/PS3duFe48+CxafRN08jnWRPmU15728IjPnpqEVK01G4Vu0J1P00qePL5uvCZeqDgq3LKPs4dheV8rPznGf4qJUjwBrmDP7l5ZvHAKZupE4XgRxjFhHgf1BJqlZS6VyDsio5e9vEEz5Sm2cwv8ezXU+5Yy2c9SeDWGqEX8Unw3qmEjCEa7HhFa3b6WhVf38N7FmYvnsGPTjjBb25udlqtm/c2z87OlGcl6dbGt7ce7OyXV+8VfvzloWH0DaO/ublJN0Sl0Z0/6fS6I0xyB+cz6Vue4PO8BblY8EQtQcJ/hBU8Zw2PxP6cQz8YDC94oqLnLSTyAKIp/kt8vMeaUaToeaOYLj65W+IkeOZ7ewcbUbDg7b89NxSipy1k/pjpnRsydUH49eJ7EljBjxhDtLh3WGN+NYbHMXdq3ha8Vz8ETxFO8Llcrt1srv68cfLX378q+3fzRWt79+7d6s8b1s/ncrkc3VAIwbM72M+EScns/gQp+kkFT7/MD8HPP7RWPbNOwDN4Q3AYWZ9GfDxv1xUTPPcN7LCCJ3+wILwD4Al+tFckyLV6UC++J4Er+DgoncYOy+er4XvF2cMjH8uQ7XL+guApwgk+m822Go2l1dvXM7nrmayz3cjkvvnhjvUT+Ww2y7REpuhJGTIperfcbwVPNT1Oit7NxhN5eecjnasXHMvLOFTlJFbw8w43J03MVfSEyyQpyYxv0NQsnr19UuMRpOjDjWIs+KOwTojozWw7LLKwogyzIuRvtBizUo92SSGTNwac9DjbO2cg7PMEfhiBJ4Gfog+MIRLcl+jp8839avjfmVBv0fNyWljBBxBO8Gtra81Go9VotJvNdqvVabe67Xa309G63Z6m6T1N13tra2ucttx36ZKynPJaXfCS3dQET6/4U3lK4cyv4L36Fx7rXawPh+f+pA6Cn1PojKhnwmafP3LW4fxcu7A3YdaXE4agRxduBV6hO0NPYRRjQfU7TL0LNM2Ml/nncArIX/wNC+0HI0yFuiItpNPMO3akfbi9G249UVh0L+MLPiCGKOEHwvlqBL+7waT2F5yMgOgCh+Apwgl+ZWWl+flzs/HZdnzT6/iu3tNWVlZmHLOA6H0KgwMAQGyA4CnCCX55eblxceE4vsVz/PLy8oxj5oP/qRYAAK4yEDxFOMF/PRozjplhmGKPcDEdfY8AAAB8geApwgkeAAAAiCcQPIWf4KX7R412L7JQAAAAgLFptHvS/aPLjiJG+An+0e+vlZdnXa1vAgAAADGmq/WVl2cPX7yOTJ/xx0/wHU3P7deW1o8WM4fYsGHDhg1bbLel9aPcfq2j6ZHpM/74CR4AAAAAXyjhBF8Us7e3t729PaMoAQAAABCK/wGdTt1yJDwN4AAAAABJRU5ErkJggg==" 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. redis pub/sub 实战: 微信语音识别

    2015年5月22日 20:20:20 星期五 效果: 这边对微信说话,  浏览器端及时显示语音识别的文字 注意: 在连接socket.io时, 按下浏览器f12, 如果一直有请求不断的刷, 说明so ...

  2. QQ登录类

    2015-3-31 22:02:09 (同一套代码, pc端不能登录, 但是, 手机和平板都可以正常登录.....) 1. 首先是库文件, 登录->授权->token->openid ...

  3. OPCServer Modbus使用和配置

    一,安装KEPware.Enhanced.OPC.DDE.KEPServer.(PLC数据传送给KEPServer,开发的程序用OPCServer读KEPServer) 设置ip地址后面是指的plc站 ...

  4. CXGrid的使用技巧

    CXGrid的使用技巧 ========================================================================== 在主从TableView中 ...

  5. 后台session过期,tomcat重启,自动跳转页面js写法

    if (window != top) { //top.location.href = location.href;//因为系统分为普通用户和后台,所以暂时写死 if(top.location.href ...

  6. 【leetcode】Candy(hard) 自己做出来了 但别人的更好

    There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...

  7. 中等难度SQL语句(存储过程,分页,拼接字段、游标,日期类型转换,动态行转列,视图)汇总

    一.创建存储过程 if Exists(select name from sysobjects where NAME = 'sp1LoginUser' and type='P')drop procedu ...

  8. September 30th 2016 Week 40th Friday

    Elegance is the only beauty that never fades. 优雅是唯一不会褪色的美. Even the most beautiful apperance may los ...

  9. Eclipse主题更改

    1. 直接安装color theme eclipse:Help->Install New Software->Work with:Update Site -http://eclipse-c ...

  10. window 环境安装MongoDB

    强制安装mongodb服务 命令 sc create MongoDB binPath= "D:\MongoDB\Server\3.2\bin\mongod.exe --service --d ...