dom4j

转载 2015年11月20日 09:27:18
1.什么是解析xml?
系统最终会从xml中读取数据.读取的过程就是解析.
CRUD => 增删改查 => create read update delete => 解析指的就是读.
2.什么是解析器?
就是用来解析xml的类.
过滤器,拦截器,监听器....都是具备相应功能的java类而已.
3.两个常见的解析xml的思路!.
思想:
DOM:将文档中所有内容都封装成对象.读取时,将所有对象都加载到内存中.在内存中创建一颗dom树(记录对象间的关系).
优点: 方便的进行增删改查.
缺点: 会非常消耗内存.
sax:事件驱动的.与pull解析类似.把xml文档的 读取过程,划分出5类事件.我们只要提供遇到每类事件做什么的锦囊即可.
优点:内存占用小.
缺点: 不能进行增删改的操作.

DOM解析是由w3c推荐提出的.
Sax解析是由民间提出的.



DOM:
把所有内容封装成了5类对象.
document
Element
Attribute
Text
Commons
共同的父类
node
NOde的属性:
自身属性:
nodeType
nodeName
nodeValue
导航属性
找子节点的:firstChild lastChild childNodes
找父节点的:parentNode
找兄弟节点:nextSibling previousSibling
获得Element的方式
getElementById           ==> Document
getELementsByTagName     ==> Document/Element
getELementsByClassName   ==> Document/Element
getElementsByName        ==> Document
对于增删改的操作:
创建一个元素: document.createElement
添加一个元素: element.appendChild ,element.insertBefore
替换一个元素: element.replaceChild
删除一个元素: element.removeChild


3.JAXP ==> JDK提供的 ==> java api for xml parser
思想在java中的体现是接口.
我们要开发的话需要接口的实现类.
由各大解析器厂商提供实现接口的类.


A a  = new AImpl(); // Aimpl2;
A a  = new AImpl2();
//---上面的切换实现类的方式,需要该源代码,太过原始-----
A a = JAXP.getXXX();==> 配置文件 ==> 我们通过修改配置文件就可以实现切换实现类.

//反射.泛型.

//------------------------------------------------------------------------------------------
DOM4J ==> 框架 ==>  
Dom for java
DOM4J
//-------------------------------------------------------------------------------------------
DOM4J 整合两种思想.(SAX DOM)的思想.
使用sax的思想做读取xml.
又参照dom的思想,也在内存中创建了一颗对象关系树. 我们在学习的时候,参照之前我们学习的dom树即可.




//是用dom4j如何避免乱码?


//要保证写入的编码和读取的编码一致.
1.写入的编码如何控制?
XMLWriter writer = new XMLWriter(new PrintWriter("src/students_copy.xml","UTF-8"),format);
2.读取的编码如何控制?
<?xml version="1.0" encoding="GBK"?>,其中encoding属性决定了读取时采用什么编码,而encoding属性由format.setEncoding("GBK");控制.
//其实要保证不乱码上面的方法太弱了!
方法: 使用字节流绝对不会出现乱码!如下:
XMLWriter writer = new XMLWriter(new FileOutputStream("src/students_copy.xml"),format);





Dom4j安装及使用

要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/ 目前最新dom4j包下载地址:http://nchc.dl.sourcefo...
  • Athenaer
  • Athenaer
  • 2012年03月06日 16:20
  • 3017

使用Dom4j解析XML

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源...
  • redarmy_chen
  • redarmy_chen
  • 2013年10月23日 12:06
  • 281619

Dom4j增加,修改,删除XML文件

一.如何配置Dom4j xml解析: 点击查看 二.修改项目类内容 1.)增加:文档,标签,属性 2.)修改:属性值,文本 3.)删除:标签,属性 1.)增加:文档,标签,...
  • Mr_Huan
  • Mr_Huan
  • 2017年01月08日 12:05
  • 1856

Dom4j设置编码的问题

dom4j设置编码,使用OutputFormat类 OutputFormat format = OutputFormat.createPrettyPrint();// 创建文件输...
  • dangerous_fire
  • dangerous_fire
  • 2016年03月15日 10:48
  • 983

Dom4j解析Xml与Dom解析Xml

二种方式比较:Dom4j易用强大,Dom易懂繁杂; 下面贴出二中解析方式的代码: smtp.qq.com 25 smtp User...
  • China2010pan
  • China2010pan
  • 2012年06月06日 10:23
  • 2536

dom4j插入节点到指定位置

  try { SAXReader reader = new SAXReader(); Document document = reader.read("src/...
  • mingjian_zheng
  • mingjian_zheng
  • 2009年10月26日 17:40
  • 8416

Dom4j操作文档及使用案例

*使用dom4j开发步骤如下: 第一步,需要下载dom4j-1.6.1.zip文件,打开路径下dom4j-1.6.1\docs\index.html帮助文档,快速的使用dom4j解析XML技术。...
  • xiebin19880914
  • xiebin19880914
  • 2012年06月13日 17:34
  • 935

dom4j快速入门文档

Parsing XML One of the first things you’ll probably want to do is to parse an XML document of some ...
  • qq792326645
  • qq792326645
  • 2015年04月01日 10:38
  • 387

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB、Dom4J

http://www.iteye.com/topic/668280 1.  DOM(Document Object Model)   此 方法主要由W3C提供,它将xml文件全部读入内存中,然后将...
  • htofly
  • htofly
  • 2012年07月12日 14:51
  • 3845

dom4j的使用流程和常用方法

要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/ 目前最新dom4j包下载地址:http://nchc.dl.sourcefo...
  • nqmysbd
  • nqmysbd
  • 2016年11月06日 11:20
  • 1277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dom4j
举报原因:
原因补充:

(最多只允许输入30个字)