`
阅读更多
废话不说了,看了上篇Visitor访问者模式---------学习dom4j时遇到的顺便拿来交流 这个一看就懂了
package org.bulktree.xml;

import java.io.File;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.VisitorSupport;
import org.dom4j.io.SAXReader;

/** *//**
 * dom4j访问者模式解析xml文档
 * 
@author bulktree Email: laoshulin@gmail.com
 * @date Aug 10, 2008
 
*/

public class ReadXmlVisitor {

    ReadXmlVisitor() 
{

        File file 
= new File("student.xml");
        SAXReader saxReader 
= new SAXReader();

        
try {
            Document doc 
= saxReader.read(file);
            doc.accept(
new MyVisitor());
        }
 catch (DocumentException e) {
            e.printStackTrace();
        }

    }

    
    
public static void main(String[] args) {
        
new ReadXmlVisitor();
    }


}


/**//*
 * org.dom4j 包里有Visitor接口,VisitorSupport是它的实现类,定义了多个重载的visit方法
 
*/

class MyVisitor extends VisitorSupport {
    
public void visit(Attribute attr) {
        String name 
= attr.getName();
        String value 
= attr.getValue();

        System.out.println(
"Attribute--> " + name + " : " + value);
    }


    
public void visit(Element element) {
        String name 
= element.getName();
        
if (element.isTextOnly()) {
            System.out
                    .println(
"Element--> " + name + " : " + element.getText());
        }
 else {
            System.out.println(
"Element-->" + name);
        }

    }

}

分享到:
评论

相关推荐

    dom4j解析xml详解

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

    Dom4j 解析XML

    在实际操作XML文档时,DOM4J提供了一些关键的类和方法。例如,要读取XML文档,可以使用`SAXReader`类。以下代码展示了如何加载XML文件并获取`Document`对象: ```java import org.dom4j.Document; import org.dom4j...

    java_Dom4j解析XML详解.doc

    由于DOM4J的设计简洁易用,对于熟悉XML-DOM模型的开发者来说,上手非常快。 #### 二、DOM4J的核心接口 DOM4J的核心接口定义在`org.dom4j`包内,这些接口提供了对XML文档进行操作的能力。下面详细介绍这些接口及其...

    dom4j文档.xml

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

    dom4j的例子,xpp3

    DOM4J是一个强大的Java库,专门用于处理XML文档。...通过Visitor模式,我们可以灵活地对XML文档进行结构化操作,而无需更改原始的DOM4J类。学习和掌握这些知识点,将有助于提升在XML处理方面的技能。

    DOM4J 的使用

    DOM4J 是一个基于 Java 的 XML 解析包,用于解析和操作 XML 文档。它提供了一个简洁的 API,方便用户快速地解析和操作 XML 文档。DOM4J 采用了 Java 集合框架,完全支持 DOM、SAX 和 JAXP。 二、DOM4J 的主要接口 ...

    DOM4J从基础到精通

    DOM4J支持Visitor模式,这是一种常用的模式,允许对文档中的节点进行访问操作而不暴露文档的具体结构。通过实现`org.dom4j.Visitor`接口或使用`org.dom4j.visitor.AbstractVisitor`,可以自定义访问逻辑。 ```java ...

    dom4j从基础到精通.docx

    在 dom4j 中,可以实现 `Visitor` 接口,通过遍历 DOM4J 树,执行特定操作。 总的来说,dom4j 为 Java 开发者提供了一套完整的 XML 处理工具,使得处理 XML 文档变得简单而高效。无论是创建、解析、修改还是查询 ...

    java_Dom4j解析XML详解.docx

    DOM4J的灵活性还体现在支持Visitor模式,通过实现`Visitor`接口,可以遍历XML树并执行特定操作。此外,XPath的使用使得定位XML节点变得极其方便,可以快速访问和修改XML文档的任意部分。 总之,DOM4J是Java开发者...

    dom4j详细使用用法

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

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

    【dom4j基础入门文档(SAX,DOM,XPATH)】 dom4j是一个流行的Java库,专门用于处理XML文档。相较于W3C DOM API,dom4j的优势在于它内置了本地XPath支持,使得XML文档的查询和操作更为简便。本文将深入介绍dom4j的...

    dom4j从基础到精通

    dom4j 实现了设计模式中的 Visitor 模式,允许遍历 DOM 树并执行自定义操作,而无需更改节点类。通过实现 `Visitor` 接口并调用 `accept(Visitor visitor)` 方法,可以对树进行深度遍历。 总结,dom4j 是一个功能...

    dom4j从基础到精通.pdf

    ### DOM4j从基础到精通知识点详解 #### 一、DOM4j介绍 DOM4j是一种用于处理XML的Java API,其设计目的是为了提供一种既高效又易于...以上是对DOM4j基础知识及高级特性的详细介绍,希望对您学习和使用DOM4j有所帮助。

    dom4j_API_示例.doc

    - **Visitor**: 实现了访问者模式,允许用户自定义节点访问逻辑,扩展了DOM4J的功能性。 #### 接口继承关系 DOM4J的接口体系遵循了一定的继承规则,例如`Attribute`和`CharacterData`继承自`Node`,而`Element`和`...

    DOM4J_xpath

    DOM4J以其简洁易用而闻名,只要对基本的XML-DOM模型有所了解,即可快速上手。 DOM4J的最大特点是使用了大量的接口,并且这些接口均定义在`org.dom4j`包下。下面列举了一些关键接口及其功能: 1. **Attribute**: ...

    JAVA操作XMLDOM4j简单教程

    在本教程中,我们将深入探讨DOM4j的核心概念、主要接口以及如何使用它来读取、解析和操作XML文档。 首先,DOM4j的主要接口集中在`org.dom4j`包中,这些接口定义了XML文档的各种组成部分。例如: 1. `Attribute`:...

Global site tag (gtag.js) - Google Analytics