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 2.1.3是一个强大且易用的XML处理工具,它的API文档和源代码为开发者提供了便利的学习和开发环境。无论你是XML初学者还是资深开发者,DOM4J都能成为你处理XML任务的得力助手。通过深入学习和实践,你...
总结,XML DOM4J提供了一种高效且易用的方式来处理XML文档,结合XPath查询,能够快速地定位和操作XML数据。在实际开发中,根据项目需求和文档规模选择合适的XML处理方式至关重要。通过持续学习和实践,可以熟练掌握...
总结,DOM4J作为XML处理的强力工具,其灵活性和全面性使得开发者能够轻松地处理各种XML任务。理解并掌握DOM4J的这些关键点,有助于提升XML编程的能力,提高工作效率。通过实际项目中的应用,你将更深入地领略DOM4J的...
DOM4J的设计充分考虑了Java集合框架的支持,并且与DOM、SAX以及JAXP等标准兼容,这使得它在XML解析领域具有极高的灵活性和易用性。 **特点:** - **丰富的接口**: DOM4J提供了一系列丰富的接口,这些接口设计得既...
Jaxen使XPath查询在不同的XML解析器之间具有可移植性,因此即使在DOM4J中使用XPath,也可以通过Jaxen调用其他解析器的实现。 "W3CSchool.chm"文档是一个经典的在线编程学习资源,其中的XPath教程可能包含了XPath的...
Dom4j作为Java平台上的XML处理工具,以其易用性和灵活性深受开发者喜爱。无论是在简单的XML文档处理还是复杂的XML应用中,Dom4j都能提供高效且便捷的解决方案。通过学习Dom4j,开发者能够更好地掌握XML处理技术,...
总结来说,DOM4J 1.6.1是一个强大且全面的XML处理工具,适用于各种XML相关的开发任务。它的易用性、灵活性和高性能使得它成为Java开发者的首选XML库之一。通过深入学习和实践"dom4j-1.6.1"包中的内容,无论是新手...
总结来说,DOM4J是Java开发中处理XML的强大工具,通过它,我们可以轻松地读取、创建、修改和保存XML文件。熟练掌握DOM4J的使用,将极大地提高XML相关任务的效率。通过实践和学习,你可以更好地理解DOM4J的各种功能,...
Java电子书集合涵盖了一系列核心的IT技术主题,包括XPath、Web服务、DOM4J库、SQL和设计模式。这些主题都是软件开发中的基础且至关重要的部分,尤其在Java编程环境中。 1. XPath(XML Path Language):XPath是用于...
总结,这个投票管理系统项目展示了JSP、Servlet、XML以及相关开发工具在Web应用中的综合运用,是学习和实践Java Web开发的典型实例。通过分析和理解这个系统,开发者可以深入理解Web应用的架构模式,提升自己的编程...
**标题与描述分析** 标题"ldom4j解析xmlldom4j解析xml"强调了ldom4j这个库在处理XML文档时的作用。描述中的重复性内容"dom4...通过学习和熟练使用dom4j,开发者能够更高效地处理XML数据,提升程序的灵活性和可维护性。
除了基础的解析方法,Demo4j可能还涵盖了以下主题: - XML命名空间(Namespace)处理:在处理包含命名空间的XML文档时,需要正确处理命名空间前缀和URI。 - DTD(Document Type Definition)和XML Schema:这两种是...
7. 学习建议:掌握Hibernate需要理解Java基础、面向对象编程以及SQL知识。通过实际项目练习,可以更好地理解和运用Hibernate,提高数据库操作的效率和灵活性。 总结,本项目通过深入研究和应用Hibernate,构建了一...
总结来说,这篇“Java/Java web参考文档”包含关于Java编程语言和Java Web开发的基础知识,特别强调了`dom4j`这一重要的XML处理库。无论是对于初学者还是经验丰富的开发者,深入理解这些内容都将对提升Java和Web开发...
关于dom4j-1.6.1.zip和Dom4j学习教程+API,这是对DOM4J库的学习资料。DOM4J是一个优秀的Java XML API,它提供了丰富的XML处理功能,包括解析、创建、修改和查询XML文档。在整合过程中,如果需要自定义Hibernate的...
**DOM4J** 是一个开源项目,它最初是从JDOM发展而来,但在此基础上增加了更多的功能。DOM4J不仅支持传统的DOM操作,还集成了XPath查询、XML Schema验证等功能。 **特点**: - **功能丰富**: 包括XPath支持、XML ...
- **简单性**:JavaScript的设计简单紧凑,易于学习,适合过渡到更复杂的语言如Java。 - **安全性**:JavaScript限制了对本地硬盘的访问,不允许对服务器上的数据进行修改或删除,确保了数据的安全。 - **动态性*...
总结起来,Xerces-J-src.2.0.0.alpha.zip是深入学习XML解析和Xerces实现的宝贵资源。通过研究这个源代码,开发者不仅可以了解XML解析的底层工作原理,还可以学习如何利用SAX解析器高效处理XML数据,同时为与...