`
xiaoyuclub
  • 浏览: 19367 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

dom4j用访问者模式遍历

阅读更多
package com.px.dom4j;

import java.io.File;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.ProcessingInstruction;
import org.dom4j.VisitorSupport;
import org.dom4j.io.SAXReader;
//用访问者模式遍历树
public class Dom4jTest extends VisitorSupport{
	
	public void visit(Attribute node) {
		System.out.println(node.getName()+":="+node.getText());
	}

	@Override
	public void visit(Document document) {
       System.out.print("<?xml version=\"1.0\" encoding=\"GB2312\"?> ");
	}

	@Override
	public void visit(Element node) {
		 if(node.isTextOnly()){
			 System.out.println(node.getName()+" "+":="+node.getText());
		 }else{
			 System.out.println(node.getName());
		 }
	}

	@Override
	public void visit(ProcessingInstruction node) {
		System.out.println("<?"+node.getTarget()+node.getText()+"?>");
	}

public static void main(String[] args) {
	SAXReader sr=new SAXReader();
	try {
		Document doc=sr.read(new File("students.xml"));
		doc.accept(new Dom4jTest());		
		
	} catch (DocumentException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
}
出现的效果:

<?xml version="1.0" encoding="GB2312"?> <?xml-stylesheettype="text/xsl" href="students.xsl"?>
students
student
sn:=01
name :=张三
age :=18
student
sn:=02
name :=李四
age :=20
分享到:
评论

相关推荐

    Dom4j的使用(全而好的文章)

    16. **Visitor**: 实现了访问者模式,用于遍历DOM树并对节点执行特定操作。 17. **XPath**: 提供了XPath表达式的分析和查询功能。 #### 四、Dom4j的接口继承关系 - `java.lang.Cloneable`: Java标准接口,用于克隆...

    dom4j解析xml详解

    16. **Visitor**: 实现了访问者模式,允许对DOM4J树进行深度遍历,并在每个节点上执行特定的操作。 17. **XPath**: 提供了XPath表达式的查询能力,使得在复杂的数据结构中定位和提取数据变得更加容易。 #### 三、...

    访问者模式在实际开发中的Demo

    文件“访问者模式dom4j.zip”中可能包含了使用DOM4J库实现访问者模式的示例代码,通过访问XML文档的节点,实现各种定制化的操作。而“访问者模式1.zip”则可能是另一个访问者模式的应用案例,可能展示了如何在其他...

    dom4j 简单教程

    ### DOM4j 使用详解 #### 一、简介 DOM4j是一种用于处理XML文档的Java库,它提供了灵活且高效的方式来解析、修改和创建XML文件。相比于标准的DOM和SAX API,DOM4j提供了更加简洁易用的API,使得开发者能够更轻松地...

    dom4j简单技术

    - **Visitor**:用于实现访问者模式,遍历和操作DOM树。 - **XPath**:解析XPath表达式。 #### 使用案例:解析与创建XML文档 DOM4J的使用十分直观,以下示例展示了如何使用DOM4J解析XML文档: ```java import org...

    dom4j例子与简介

    此外,DOM4j还支持使用XPath表达式进行精确选择和遍历,以及利用`Visitor`模式对XML树进行深度优先或广度优先的遍历。 #### 结论 DOM4j通过其丰富且直观的API,极大地简化了Java中XML的处理工作。无论是读取、解析...

    dom4j详细使用用法

    - **`org.dom4j.Visitor`**:用于实现访问者模式,可以用来遍历XML树并执行某些操作。 - **`org.dom4j.XPath`**:提供了一个简单的接口来执行XPath查询,使得开发者能够轻松地根据XPath表达式检索文档中的节点。 ##...

    dom4j的使用教程

    16. `Visitor`:实现访问者模式,允许自定义的节点遍历行为。 17. `XPath`:提供XPath表达式的解析和执行,用于查询XML文档。 DOM4J的接口设计遵循了面向接口编程的原则,通过接口的继承和组合,构建了一套灵活且可...

    dom4j-1.6.1.jar和ojdbc14_g.jar包

    总结,dom4j-1.6.1.jar和ojdbc14_g.jar是Java开发中的重要工具,前者在XML处理上提供了强大的支持,后者则作为Oracle数据库的桥梁,使Java应用程序能轻松访问数据库。熟练掌握这两个库的使用,将极大地提升开发效率...

    dom4j文档.xml

    16. **Visitor**: 实现了访问者模式,允许对DOM4J树进行自定义遍历和操作。 17. **XPath**: 提供XPath表达式的接口,用于高效地查找XML文档中的特定节点。 在XML文档操作方面,DOM4J提供了以下功能: 1. **读取XML...

    DOM4J使用详解

    - `Visitor`:实现了访问者模式,允许遍历DOM4J树结构。 - `XPath`:提供XPath表达式的解析和评估,用于定位XML文档中的节点。 2. XML文档操作: - **读取XML文档**:通常使用`SAXReader`或`DOMReader`。`...

    DOM4j教程 例子

    - **Visitor**:用于实现访问者模式,可以遍历DOM4j中的节点。 - **XPath**:提供了XPath表达式的解析和查询功能。 这些接口之间的继承关系清晰明了,大部分接口都是从`Node`接口继承而来的。了解这些接口之间的...

    dom4j教程.pdf

    #### 四、DOM4j使用示例 下面是一个简单的示例,演示如何使用DOM4J来读取XML文件: ```java import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Dom4jExample {...

    dom4j帮助文档

    例如,Web服务的客户端和服务端可能会使用DOM4J解析和生成SOAP消息;Spring框架中也大量使用DOM4J处理配置文件;在企业级应用中,DOM4J也可能用于数据库的XML备份和恢复。 总之,DOM4J是Java程序员处理XML文档的...

    dom4j关于xml读写的例子里面还有dom4j的jar包

    在你下载的压缩包中,`dom4j`的jar包很可能包含了DOM4J库的所有类,你需要将其添加到你的项目类路径中才能使用DOM4J的功能。 总的来说,这个压缩包提供了一个实用的学习资源,让你能够通过实际的例子来掌握DOM4J...

    DOM4J很全的学习资料知识点讲解加上例子

    - 使用DOM4J的迭代器遍历XML,以降低内存消耗。 - 对于大型XML,优先考虑SAX或StAX解析。 - 注意异常处理,确保程序健壮性。 通过这份DOM4J的学习资料,你将能够深入理解DOM4J的工作原理,熟练运用其API处理XML...

    Dom4j例子,可以解析大部分的XML

    这个例子对于初学者来说非常有帮助,因为它展示了Dom4j在实际应用中的基本用法。 总之,Dom4j是一个强大的XML处理库,适用于各种XML相关的任务,无论是读取、解析、修改还是创建XML文档。其简洁的API和对DOM和SAX的...

    dom4j jar包 和 教程

    例如,`DOM4j使用教程 - 关于WEB开发的思考之JAVA技术O_Lions - JavaEye技术网站.mht`和`DOM4J使用教程 - - JavaEye技术网站.mht`可能是两篇关于DOM4j的教程文章,详细介绍了如何在Web开发中使用DOM4j。而`dom4j-...

    jar包Dom4j

    8. **性能优化**: DOM4J的设计考虑到了性能,它的API设计得高效且易于使用,减少了处理XML时的开销。 9. **社区支持**: 作为开源项目,DOM4J有一个活跃的社区,不断更新和改进库的功能,提供文档和示例代码,帮助...

    Dom4j学习教程+API

    这份PDF文档可能包含了Dom4j的基本用法示例,如创建XML文档、解析XML文件、使用XPath、修改XML文档等内容,是初学者快速上手的宝贵资料。 **7. dom4j API .chm** .chm文件是Microsoft的帮助文件格式,其中包含详细...

Global site tag (gtag.js) - Google Analytics