文档章节

XML--dom4j解析

H
 HoneyHoney
发布于 2015/06/13 22:34
字数 335
阅读 15
收藏 0

将dom4j里面的jar包放到项目中,buildpath一下

    核心类

      1: org.dom4j...SaxReader
      2: org.dom4j...Document

读取xml中的有用的数据:

public class Demo01 {
 @Test
 public void test1() throws Exception{
  //1:声明读取文件的对象
  SAXReader sax = new SAXReader();
  //2:读取文件
  Document dom = sax.read("./files/users.xml");
  //3:获取根元素
  Element root = dom.getRootElement();
  //4:读取里面的节点
  List<Element> users = root.elements();
  for(Element e:users){
   String id = e.attributeValue("id");
   String name = e.element("name").getText();
   String age = e.elementText("age");
   System.err.println(id+","+name+","+age);
  }
 }
}

增加节点:         org.dom4j.XMLWriter - 将内存中的dom保存到文件中去。

 @Test
 public void save() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  //添加子元素
  Element userElement = root.addElement("user");
  userElement.addAttribute("id","U100");
  userElement.addElement("name").setText("马六");
  userElement.addElement("age").setText("34");
  
 //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 //  OutputFormat format = OutputFormat.createPrettyPrint();  
 // 利用格式化类对编码进行设置  
 //  format.setEncoding("GBK");  
 // FileOutputStream output = new FileOutputStream(new File(path +  
 //            "books1.xml"));  
 // XMLWriter writer = new XMLWriter(output, format);  
 // writer.write(doc);  
 // writer.flush();  
 // writer.close();  
 }

删除节点:

 @Test
 public void del() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  List<Element> list =  root.elements();
  Element last = list.get(list.size()-1);
  //删除
  last.getParent().remove(last);
  //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 }

更改节点: 

@Test
 public void del() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  List<Element> list =  root.elements();
  Element last = list.get(list.size()-1);
  //更改
  //last.getElementsByTagName("name").item(0).setTextContent("王五");
  //last.getElementsByTagName("age").item(0).setTextContent("15");
  //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 }





© 著作权归作者所有

共有 人打赏支持
H
粉丝 0
博文 21
码字总数 6313
作品 0
济南
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
91
0
XML生成和解析

1、DOM方式解析XML 给予DOM的解析方式,是把整个XML文档加载到内存,转化成DOM树,可以随机的访问DOM树的任何数据,速度快、比较灵活,但是消耗资源比较多,不适用大的xml文档解析,测试超过...

祁猛
2016/10/19
24
0
四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SA...

Henrykin
2016/11/03
48
0
dom4j的使用及常见问题

相信作为一个开发人员应该对XML与JSON 非常熟悉。关于两者的介绍与区别网上已经有很多资料,java对于XML的解析也有很多工具包,主要解析的方式有三种: 1.DOM解析方式:适用于解析小型XML文件...

Half_candy
2015/09/20
289
0
JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较

JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较 1.各种方式的详解 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的 官方W3C标准。DOM是以层次结构组织...

_xiaotudou
2014/03/28
221
0

没有更多内容

加载失败,请刷新页面

加载更多

Laravel UNION联合查询并分页

$xk = DB::table('xiaokes')->select(['id','xk_name as name','xk_teacher_id as tid','ke_type','created_at']) ->where('xk_teacher_id',$id); $query = DB::......

一只懒猫-
30分钟前
1
0
187 修改centos的密码

先登录

Lucky_Me
38分钟前
3
0
通过Timer类实现App 启动页停留三秒效果

Timer timer = new Timer(); //参数1:每次执行的任务代码 参数2:延时多少毫秒执行 参数3:任务间隔 单位:毫秒 timer.schedule(new TimerTask() { @Over...

lanyu96
43分钟前
0
0
pip更改下载源设置

任何一个信息都可以把人分为两类,知道的和不知道的。有些我们已知的信息,自己觉得很平常,却可能对另一些不知道的人来说很有用处。 比如今天要说的这个小技巧,我自己原以为不值一提,网上...

crossin
44分钟前
1
0
css预加载

css /* 预加载图片,挂在body上 */.preload-img:after{ content:""; background: url(../images/new/full_bg2.jpg) no-repeat -10000px -1000px;} js $(function(){ /......

红羊在厦门
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部