用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. VS2010调试速度很慢

    1.使用vs2010,感觉速度越来越慢.重新设置了vs2010的环境(在vs2010命令提示符下,执行devenv.exe /resetuserdata),居然解决了这个问题,速度跑的很好.网上有人说 ...

  2. selenium webdriver学习(一)

    package baidu; import java.io.File; import java.io.IOException; import junit.framework.TestCase; imp ...

  3. nyoj_34_韩信点兵

     中国剩余定理: 代码: #include <iostream> #include <cstdio> using namespace std; int main() { int ...

  4. codeforces 505A. Mr. Kitayuta's Gift 解题报告

    题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...

  5. simpleTree简单使用

    SimpleTree使用起来比较方便,它实现了最基本的树形菜单的功能,包括1个JS文件.1个CSS文件和5个图标文件. 使用时只要将相关文件复制到项目中,并在相应的页面引用它就行,例如: <!D ...

  6. 【leetcode】Search in Rotated Sorted Array II(middle)☆

    Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this ...

  7. 【编程题目】请修改 append 函数,利用这个函数实现两个非降序链表的并集

    42.请修改 append 函数,利用这个函数实现(链表):两个非降序链表的并集,1->2->3 和 2->3->5 并为 1->2->3->5另外只能输出结 ...

  8. DB2 for z: system catalog tables

    http://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.sqlref/src/tpc/db2z_cata ...

  9. 解决passwd 为普通用户设密码 不成功的方法

    echo "xxxxxxxxx"|passwd --stdin user_name #这样设置密码就可以成功!

  10. Q3 2016 State of the Internet – Security Report

    https://content.akamai.com/PG7476-Q3-2016-SOTI-Security-Report.html?utm_source=GoogleSearch&gcli ...