`
高成锋
  • 浏览: 52790 次
  • 性别: 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-2.1.3.zip

    总结来说,DOM4J 2.1.3是一个强大且易用的XML处理工具,它的API文档和源代码为开发者提供了便利的学习和开发环境。无论你是XML初学者还是资深开发者,DOM4J都能成为你处理XML任务的得力助手。通过深入学习和实践,你...

    XML DOM4J学习笔记

    总结,XML DOM4J提供了一种高效且易用的方式来处理XML文档,结合XPath查询,能够快速地定位和操作XML数据。在实际开发中,根据项目需求和文档规模选择合适的XML处理方式至关重要。通过持续学习和实践,可以熟练掌握...

    dom4j 学习笔记

    总结,DOM4J作为XML处理的强力工具,其灵活性和全面性使得开发者能够轻松地处理各种XML任务。理解并掌握DOM4J的这些关键点,有助于提升XML编程的能力,提高工作效率。通过实际项目中的应用,你将更深入地领略DOM4J的...

    dom4j教程,详细文档

    DOM4J的设计充分考虑了Java集合框架的支持,并且与DOM、SAX以及JAXP等标准兼容,这使得它在XML解析领域具有极高的灵活性和易用性。 **特点:** - **丰富的接口**: DOM4J提供了一系列丰富的接口,这些接口设计得既...

    DOM4J jar包和W3CSchool.chm的文档包含XPath的教程

    Jaxen使XPath查询在不同的XML解析器之间具有可移植性,因此即使在DOM4J中使用XPath,也可以通过Jaxen调用其他解析器的实现。 "W3CSchool.chm"文档是一个经典的在线编程学习资源,其中的XPath教程可能包含了XPath的...

    Dom4j学习教程+API

    Dom4j作为Java平台上的XML处理工具,以其易用性和灵活性深受开发者喜爱。无论是在简单的XML文档处理还是复杂的XML应用中,Dom4j都能提供高效且便捷的解决方案。通过学习Dom4j,开发者能够更好地掌握XML处理技术,...

    dom4j-1.6.1

    总结来说,DOM4J 1.6.1是一个强大且全面的XML处理工具,适用于各种XML相关的开发任务。它的易用性、灵活性和高性能使得它成为Java开发者的首选XML库之一。通过深入学习和实践"dom4j-1.6.1"包中的内容,无论是新手...

    dom4j操作xml文件

    总结来说,DOM4J是Java开发中处理XML的强大工具,通过它,我们可以轻松地读取、创建、修改和保存XML文件。熟练掌握DOM4J的使用,将极大地提高XML相关任务的效率。通过实践和学习,你可以更好地理解DOM4J的各种功能,...

    Java电子书_xpath_webservice_dom4j_sql21_设计模式等PDF电子书

    Java电子书集合涵盖了一系列核心的IT技术主题,包括XPath、Web服务、DOM4J库、SQL和设计模式。这些主题都是软件开发中的基础且至关重要的部分,尤其在Java编程环境中。 1. XPath(XML Path Language):XPath是用于...

    jsp/servlet投票管理系统myeclipse 8.6.1+tomcat7.0.11+xml(dom4j解析)

    总结,这个投票管理系统项目展示了JSP、Servlet、XML以及相关开发工具在Web应用中的综合运用,是学习和实践Java Web开发的典型实例。通过分析和理解这个系统,开发者可以深入理解Web应用的架构模式,提升自己的编程...

    ldom4j解析xmlldom4j解析xml

    **标题与描述分析** 标题"ldom4j解析xmlldom4j解析xml"强调了ldom4j这个库在处理XML文档时的作用。描述中的重复性内容"dom4...通过学习和熟练使用dom4j,开发者能够更高效地处理XML数据,提升程序的灵活性和可维护性。

    Demo4j解析XML文档实例和方法总结(经典)

    除了基础的解析方法,Demo4j可能还涵盖了以下主题: - XML命名空间(Namespace)处理:在处理包含命名空间的XML文档时,需要正确处理命名空间前缀和URI。 - DTD(Document Type Definition)和XML Schema:这两种是...

    基于Hibernate的Java对象持久化技术分析--农户征信管理平台的设计

    7. 学习建议:掌握Hibernate需要理解Java基础、面向对象编程以及SQL知识。通过实际项目练习,可以更好地理解和运用Hibernate,提高数据库操作的效率和灵活性。 总结,本项目通过深入研究和应用Hibernate,构建了一...

    Java/Java web参考文档

    总结来说,这篇“Java/Java web参考文档”包含关于Java编程语言和Java Web开发的基础知识,特别强调了`dom4j`这一重要的XML处理库。无论是对于初学者还是经验丰富的开发者,深入理解这些内容都将对提升Java和Web开发...

    hibernateAndStruts2整合

    关于dom4j-1.6.1.zip和Dom4j学习教程+API,这是对DOM4J库的学习资料。DOM4J是一个优秀的Java XML API,它提供了丰富的XML处理功能,包括解析、创建、修改和查询XML文档。在整合过程中,如果需要自定义Hibernate的...

    Java中四种操作xml方式的详解与比较

    **DOM4J** 是一个开源项目,它最初是从JDOM发展而来,但在此基础上增加了更多的功能。DOM4J不仅支持传统的DOM操作,还集成了XPath查询、XML Schema验证等功能。 **特点**: - **功能丰富**: 包括XPath支持、XML ...

    JavaScriptj经典基础教程.

    - **简单性**:JavaScript的设计简单紧凑,易于学习,适合过渡到更复杂的语言如Java。 - **安全性**:JavaScript限制了对本地硬盘的访问,不允许对服务器上的数据进行修改或删除,确保了数据的安全。 - **动态性*...

    Xerces-J-src.2.0.0.alpha.zip

    总结起来,Xerces-J-src.2.0.0.alpha.zip是深入学习XML解析和Xerces实现的宝贵资源。通过研究这个源代码,开发者不仅可以了解XML解析的底层工作原理,还可以学习如何利用SAX解析器高效处理XML数据,同时为与...

Global site tag (gtag.js) - Google Analytics