`
高成锋
  • 浏览: 51195 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

dom4j基础性学习总结

    博客分类:
  • XML
阅读更多

Dom4j学习总结:

本次学习性总结主要从以下四方面进行:

一. Xml文档的创建及读取方式

二. Xml文档的修改及删除

三. Xml技术面的扩展

四. Xml文档在dom4j技术框架下的实力型应用

首先要引入两个jar包:dom4j.jarjaxen-1.1-beta-4.jar

一. Xml文档的创建和读取方式

1. 创建一个document对象

Document document = DocumentHelper.createDocument();

创建一个document型节点(Node)作为根节点,根节点只能有一个

Element root = document.addElement("books");

创建其他Element型节点(Node)作为普通节点

Element elementBook = root.addElement("book");

创建元素节点的属性

Attribute attributeShow = elementBook.addAttribute("show","true");

Attribute attributeAuthor = elementBook.addAttribute("author","zhongshanming");

addAttribute("arg1","arg2");

arg1 表示创建的属性名称

arg2 表示创建的属性值

创建注释,添加文本节点

root.addComment("this is a use case");

elementBook.addText("My World");

 将document对象输出,执行创建xml文档的最后一步

XMLWriter writer = new XMLWriter(new FileWriter(new File(sourceFile)));

writer.write(document);

writer.close();

以上是我们在创建xml文档时经常用到的方法,对于其他的一些方法,在开发的过程中,可以以此为基础,举一反三,灵活运用。

2. Xml文档的读取

1) SAXReader方式读取

SAXReader reader = new SAXReader();

Document document = reader.read(new File(filename));

获取到元素节点

Node nodeElement = document.selectNodes("/books/book")

获取到元素中的属性节点【默认读取第一个】

Node nodeAttribute = document.selectSingleNode("//books/book/@show");

或者[如果使用XPath方式读取,必须添加jaxen-1.1-beta-4.jar]

XPath xpathNode = DocumentHelper.createXPath("//books/book/title");

List listNode = xpathNode.selectNodes(document);

Iterator itera = listNode.iterator();

while(itera.hasNext()){

Node node = (Node) itera.next();

……………

}

2) Visitor方式读取

root.accept(new MyVisitor());

public class MyVisitor extends VisitorSupport{

public void visit(Element element){

System.out.println(element.getName());

……………..

}

public void visit(Attribute attribute){

System.out.println(attribute.getName());

……………..

}

}

不过这种方式不是可以控制的,当读取到root节点时,监听的类就自动执行了。

二. Xml文档的修改及删除

1. xml文档的修改

依据xml文档的读取功能,在遍历节点元素或是属性时,同我们即将要修改的信息进行比较,进而进行修改,如:

XPath xpathNode = DocumentHelper.createXPath("//books/book/title");

List listNode = xpathNode.selectNodes(document);

Iterator itera = listNode.iterator();

while(itera.hasNext()){

Node node = (Node) itera.next();

if(node.getText().equals("数学分析")){

node.setText("高等数学");

}

}

2. xml文档的删除

xml文档的修改是同样的操作,首先需要读取xml文档,然后依据条件遍历并得到要删除的节点,然后直接移除,如:

Node node = (Node) itera.next();

if(node.getText().equals("数学分析")){

root.remove(node);

}

三. Xml技术面的扩展

1. xml文档的格式化和编码

OutputFormat format = OutputFormat.createPrettyPrint();

format.setEncoding("GB2312");

XMLWriter writer = new XMLWriter(new FileWriter(new File(sourceFile)),format);

writer.write(document);

writer.close();

2. 遍历所有的元素节点和属性节点

for(Iterator iter = root.elementIterator();iter.hasNext();){

Element element = (Element)iter.next();

…………..

}

for(Iterator iter = root.attributeIterator();iter.hasNext();){

Attribute attribute = (Attribute)iter.next();

…………..

}

3. XSLT转换XML

4. 字符串与XML的转换

5. 

6. 

四. Xml文档在dom4j技术框架下的应用

1) XML替代数据库,图书管理小系统

2) 车辆运营管理系统

<!--EndFragment-->
分享到:
评论

相关推荐

    dom4j dom4j dom4j dom4j

    dom4j dom4j dom4j dom4j dom4j dom4j

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用

    xml&dom&sax&dom4j 代码编写和总结

    对于xml&dom&sax&dom4j 文件解析的代码总结

    JavaEE源代码 dom4j-1.6.1

    JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...

    dom4j-2.1.1-API文档-中英对照版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    dom4j-2.1.1-API文档-中文版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar

    dom4j_dom4j1.6.1安装包_

    maven dom4j 1.6.1安装包

    Dom4j 1.6.1 JAVA API

    dom4j帮助文档 官方API All Classes Packages org.dom4j org.dom4j.bean org.dom4j.datatype org.dom4j.dom org.dom4j.dtd org.dom4j.io org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom...

    dom4j基础入门文档(SAX,DOM,XPATH)

    dom4j基础入门文档,与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持。

    dom4j常用方法

    dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...

    dom4j-1.6.1.jar (dom4j) 欢迎下载

    dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口

    dom4j 源码

    dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码

    Dom4j基础使用指南

    Dom4j基础使用指南,Dom4j基础使用指南

    资源jar包dom4j-1.6.1.rar

    在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,...

    DOM4J帮助文档及使用教程

    这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。

    XML DOM4J学习笔记

    自己的XML DOM4J学习笔记 自己的XML DOM4J学习笔记

    dom4j api 参考手册

    org.dom4j.bean An implementation of the dom4j API which allows JavaBeans to be used to store and retrieve attribute values from Element. org.dom4j.datatype An implementation of the dom4j API which ...

    dom4j.rar=dom4j API+dom4j.jar

    dom4j.rar 包括dom4j API帮助文档和dom4j.jar包.dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点

    dom4j2.0 dom4j2.0

    dom4j2.0 dom4j2.0 dom4j2.0

Global site tag (gtag.js) - Google Analytics