Dom4J总结

1、前言

虽然现在很多场合都转向了json,但是解析xml还是会在很多场合用上。

2、node和element的区别

1、element:

元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素 例如<div>...</div>。
但是一个结点不一定是一个元素,而一个元素一定是一个结点。

2、node:

node是相对tree这种数据结构而言的。tree就是由node组成。这个部分你可以参考离散数学的树图。
element则是XML里的概念,<xxx>就是元素,是XML中的数据的组成部分之一。

3、dom4j API

DocumentHelper类中有:

(1)Document document = DocumentHelper.createDocument();//创建一个document对象,通常用于新建一个xml文档

(2)Element element = DocumentHelper.createElement();//创建一个element对象,即创建一个标签

(3)Document document = DocumentHelper.parseText(String xml);//将xml字符串转换成以document为根节点的DOM树

SAXReader类中有:

(1)SAXReader reader = new SAXReader();

(2)Document document  = reader.read(new File("1.xml"));//读取并解析1.xml文档,并返回document

Document类中有:

(1)String text = document.asXML(Document);  //将一颗DOM树转为XML字符串

(2)Element root = document.getRootElement();  //获得根节点

Element中有:

(1)Element newelem = elem.addElement("child");  //加入名为child的子标签,并返回此element

(2)newelem.addAttribute("name","value");  //标签添加一个属性

(3)newelem.addText("xxxx"); //为标签添加一个标签值

(4)newelem.getText(); //获得标签的标签值

(5)String value = newelem.attributeValue("name");//获得标签的属性值

(6)Iterator iter = newelem.attributeIterator() ;//标签的属性迭代器

(7)List childs = newelem.elements(); //获得标签的全部子元素

(8)Element child = newelem.element("name");  //获得标签的子标签中的多个<name>标签中的第一个元素

(9)List childs = newelem.elements("name");  //获得标签的子标签中的全部<name>标签

(10)newelem.remove(elem); //删除elem标签

XMLWriter类中有:

(1)XMLWriter writer = new XMLWriter(OutputStream out,OutputFormat format);

(2)writer.write(document); //输出document

(3)writer.close(); //关闭XMLWriter流

OutputFormat类中有:

(1)OutputFormat format = OutputFormat.createPrettyFormat();//输出时排版整齐

(2)OutputFormat format = OutputFormat.createCompactFormat();//输出时排版紧实

(3)format.setEncoding("UTF-8"); //设置<?xml    ?>中的encoding属性,默认为UTF-8

Attribute类中有:

(1)attr.setValue("value"); //设置属性

(2)String value = attr.getValue();

4、表格汇总


Attribute


定义了 XML 的属性。


Branch


指能够包含子节点的节点。如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为


CDATA


定义了 XML CDATA 区域


CharacterData


是一个标识接口,标识基于字符的节点。如CDATA,Comment, Text.


Comment


定义了 XML 注释的行为


Document


定义了XML 文档


DocumentType


定义 XML DOCTYPE 声明


Element


定义XML 元素


ElementHandler


定义了Element 对象的处理器


ElementPath


被 ElementHandler 使用,用于取得当前正在处理的路径层次信息


Entity


定义 XML entity


Node


为dom4j中所有的XML节点定义了多态行为


NodeFilter


定义了在dom4j 节点中产生的一个滤镜或谓词的行为(predicate)


ProcessingInstruction


定义 XML 处理指令


Text


定义 XML 文本节点


Visitor


用于实现 Visitor模式


XPath


在分析一个字符串后会提供一个 XPath 表达式

时间: 2024-10-13 02:08:12

Dom4J总结的相关文章

【dom4j】解析xml为map

dom4j解析xml文件 <?xml version="1.0" encoding="utf-8"?> <workflows> <queryRequest> <branchId>88037062</branchId> <merSysId>00000317</merSysId> <queryNo>948983692</queryNo> <billType&

dom4j API使用简介

功能简介 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能.功能和易用性的评测,dom4j无论在那个方面都是非常出色的.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,特别值得

使用Dom4j操作XML数据

--------------siwuxie095 dom4j 是一个非常优秀的 Java XML 的 API, 用来读写 XML 文件 和操作 XML 数据 特点:性能优异.功能强大.极端易用 dom4j 的下载链接:http://www.dom4j.org/dom4j-1.6.1/ 将 dom4j-1.6.1.zip 解压一览: 工程名:TestDom4j 包名:com.siwuxie095.dom4j 类名:Test.java 打开资源管理器,在工程 TestDom4j 文件夹下,创建一个

【收藏用】--切勿转载JAVA 使用Dom4j 解析XML

原帖地址 : http://blog.csdn.NET/yyywyr/article/details/38359049 解析XML的方式有很多,本文介绍使用dom4j解析xml. 1.环境准备 (1)下载dom4j-1.6.1.jar (2)下载junit-4.10.jar 2.温馨提示 解析XML过程是通过获取Document对象,然后继续获取各个节点以及属性等操作,因此获取Document对象是第一步,大体说来,有三种方式: (1)自己创建Document对象   Document docu

javaweb学习总结十三(dom4j方式对XML文档进行解析)

一:dom4j方式介绍 对于xml的解析总共有三种 1:jaxp方式,是sun公司开发的,分为sax方式和dom方式 2:jdom方式,后来其中部分人员参与开发dom4j 3:dom4j方式,是现在企业使用比较多的一种方式 二:代码案例 1:读取xml文件中某个节点 1):获取第二个学生的名字 1 @Test 2 // 1:获取第二个学生的名字 3 public void test01() throws DocumentException { 4 // 1:获取解析器 5 SAXReader r

Day06 DOM4J&schema介绍&xPath

day06总结 今日内容 XML解析之JAXP( SAX ) DOM4J Schema ? 三.XML解析器介绍 ? 操作XML文档概述 ? 1 如何操作XML文档 XML文档也是数据的一种,对数据的操作也不外乎是"增删改查".也被大家称之为"CRUD". C:Create: R:Retrieve: U:Update: D:Delete ? 2 XML解析技术 XML解析方式分为两种:DOM(Document Object Model)和SAX(Simple API

dom4j

Dom4j是什么DD? dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.在IBM developerWorks上面可以找到一篇文章,对主流的Java XML API进行的性能.功能和易用性的评测,dom4j无论在那个方面都是非常出色的.如今你可以看到越来越多的Java软件都在使用dom4j来读写XML

dom、SAX、Jdom、dom4j四种解析xml方式简单总结

1,dom和sax是java官方提供的解析方式,不需要导入额外jar包,dom甚至一种标准. dom是一次性将整个xml文件dom结构加载进内存,因此比较占空间. 优点: *形成了树结构,直观好理解,代码更易编写 *解析过程中树结构保留在内存中,方便修改 缺点: !当Xml文件过大时,对内存消耗过大,容易影响解析性能并造成内存溢出. 2,sax是一种基于事件驱动的xml解析方式.在使用是需要编写专门的handler,在文档开头会触发startDocument()方法.解析到节点除法startEl

解析XML文件的几种常见操作方法:DOM/SAX/DOM4j

1 <?xml version="1.0" encoding="utf-8"?> 2 <root> 3 <class name="class1"> 4 <student> 5 <name>张三</name> 6 <age>20</age> 7 <sex>男</sex> 8 </student> 9 <stude

[JavaWeb基础] 031.dom4j写入xml的方法

上一篇我们讲述了dom4j读取xml的4种方法,甚是精彩,那么怎么样写入xml呢?我们直接看下源码实现. public static void main(String[] args) throws Exception { // 创建文档 Document document = DocumentHelper.createDocument(); // 设置编码 document.setXMLEncoding("GBK"); // 创建根节点 Element root = document.