Dom4j学习总结:
本次学习性总结主要从以下四方面进行:
一. Xml文档的创建及读取方式
二. Xml文档的修改及删除
三. Xml技术面的扩展
四. Xml文档在dom4j技术框架下的实力型应用
首先要引入两个jar包:dom4j.jar和jaxen-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) 车辆运营管理系统
相关推荐
dom4j dom4j dom4j dom4j dom4j dom4j
DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
对于xml&dom&sax&dom4j 文件解析的代码总结
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源...
赠送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文档-...
赠送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.zip与 dom4j-2.0.0-ALPHA-2.jar
maven dom4j 1.6.1安装包
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基础入门文档,与 W3C DOM API 相比,使用 dom4j 所包含的解析器的好处是 dom4j 拥有本地的 XPath 支持。
dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码 dom4j 源码
Dom4j基础使用指南,Dom4j基础使用指南
在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能、功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的。如今可以看到越来越多的Java软件都在使用dom4j来读写XML,...
这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。
自己的XML DOM4J学习笔记 自己的XML DOM4J学习笔记
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是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点
dom4j2.0 dom4j2.0 dom4j2.0