`
younglibin
  • 浏览: 1207704 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dom4j 解析xml文档

XML 
阅读更多
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <students>  
  3.     <student>  
  4.         <name sn="01">张三</name>  
  5.         <age>18</age>  
  6.     </student>  
  7.     <student>  
  8.         <name sn="02">李四</name>  
  9.         <age>20</age>  
  10.     </student>  
  11. </students>  
  12. import java.io.File;   
  13. import org.dom4j.DocumentException;   
  14. import org.dom4j.Element;   
  15. import org.dom4j.ElementHandler;   
  16. import org.dom4j.ElementPath;   
  17. import org.dom4j.io.SAXReader;   
  18. /**  
  19.  * 在不读完XML文档的时候解析里面的数据  
  20.  * ElemnetHandler  
  21.  * ElementPath  
  22.  * @author Administrator  
  23.  *  
  24.  */  
  25.   
  26. public class ElementHandlerTest {   
  27.     public static void main(String[] args){   
  28.         //创建一个SAXReader对象来读取XML文档   
  29.         SAXReader sax = new SAXReader();   
  30.         //ADD一个Handler,用于监听,当读到对应元素时,采取相应的onStart,onEnd里面编写的方法   
  31.         //还要指定路径,有相对的,也有绝对的,下面就是绝对的   
  32.         //StudentHandler()和NameHandler()都是绝内部类,都implement ElementHandler   
  33.         sax.addHandler("/students/student"new ElementHandlerTest.StudentHandler());   
  34.         try {   
  35.             //读取一个XML文档,返回一个Document对象   
  36.             //读的时候就监听   
  37.             sax.read(new File("students.xml"));   
  38.                
  39.         } catch (DocumentException e) {   
  40.             e.printStackTrace();   
  41.         }   
  42.     }   
  43.     private static class StudentHandler implements ElementHandler{   
  44.         public void onStart(ElementPath elementPath) {   
  45.             //getCurrent()获得当前元素   
  46.             Element e = elementPath.getCurrent();   
  47.             //attributeValue("sn"))获得当前元素的sn属性   
  48.             System.out.println(e.attributeValue("sn"));   
  49.             //ElementPath里面也可以添加addHandler,这里面用的是相对路径   
  50.             elementPath.addHandler("name"new ElementHandlerTest.NameHandler());   
  51.         }   
  52.   
  53.         public void onEnd(ElementPath elementPath) {   
  54.             elementPath.removeHandler("name");   
  55.         }   
  56.     }   
  57.        
  58.     private static class NameHandler implements ElementHandler{   
  59.         public void onStart(ElementPath elementPath) {   
  60.             //获得当前路径   
  61.             System.out.println(elementPath.getPath());   
  62.         }   
  63.         public void onEnd(ElementPath elementPath) {   
  64.                
  65.             Element e = elementPath.getCurrent();   
  66.             //获得元素的值和名字   
  67.             System.out.println(e.getName()+":"+e.getText());   
  68.         }   
  69.            
  70.     }   
  71. }  
分享到:
评论

相关推荐

    Dom4j解析XML文档.doc

    无论是读取XML文件,解析XML字符串,还是创建、修改和遍历XML结构,DOM4J都提供了简洁的接口,极大地简化了开发者的工作。在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和...

    dom4j解析xml文件(增删改查)

    在提供的视频资源"17-dom4j解析xml文档(增删改查).avi"中,可能详细展示了这些操作的步骤和示例,观看该视频将进一步加深你对DOM4J操作XML的理解。记得实践是检验理论的最好方式,动手操作会让你更好地掌握这些知识...

    dom4j解析xml文件的压缩包

    5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...

    dom4j解析xml详解

    ### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...

    dom4j解析xml文件代码示例

    在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...

    dom4j-jar与dom4j解析xml文档介绍

    "dom4j-jar与dom4j解析xml文档介绍" 这个标题告诉我们,我们将探讨的是一个关于dom4j库的jar文件,以及如何使用这个库来解析XML文档。dom4j是一个Java库,它提供了丰富的API用于处理XML、HTML和DOM文档。这里的"jar...

    用dom4j解析xml文件

    本篇文章将深入探讨如何使用DOM4J来解析XML文件,以及通过示例代码来展示其基本操作。 首先,我们需要理解DOM4J的工作原理。DOM4J采用的是DOM(Document Object Model)模型,它将整个XML文档加载到内存中形成一棵...

    分别使用DOM和DOM4j解析XML文件

    使用DOM解析XML的基本步骤如下: 1. 创建DocumentBuilderFactory实例。 2. 使用DocumentBuilderFactory创建DocumentBuilder实例。 3. 使用DocumentBuilder的parse()方法解析XML文件,得到Document对象。 4. 通过...

    使用DOM4j解析XML文件

    在使用DOM4j解析XML文件时,首先需要导入DOM4j的相关包,如`SAXReader`用于读取XML文件,`Document`表示整个XML文档,`Element`表示XML文档中的元素,以及`Attribute`表示元素的属性。以下是一个使用DOM4j解析XML...

    dom4j解析XML文档.ppt

    DOM4J是一个强大的Java库,专门用于解析XML文档。它提供了简单易用的API,使得开发者可以更加方便地处理XML数据。DOM4J的核心优势在于它的面向接口编程设计,这使得它能够在不同的解析机制间灵活切换,如DOM、SAX和...

    dom4j解析xml,利用反射机制

    在这个项目中,我们利用DOM4J来解析XML文件,并通过Java的反射机制将解析出的信息存储到特定的类中。 首先,我们需要了解XML的基本概念。XML(Extensible Markup Language)是一种标记语言,常用于数据交换和结构化...

    dom4j 解析写入xml

    1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件

    dom4j 解析xml实例

    在这个实例中,我们将深入探讨如何使用DOM4J解析XML文件,并通过`Dom4jTest1.java`这个示例程序来理解其工作原理。 首先,我们需要了解XML(Extensible Markup Language)是一种标记语言,常用于存储和传输数据。...

    Java使用sax、dom、dom4j解析xml文档

    Java提供了多种解析XML的API,包括SAX(Simple API for XML)、DOM(Document Object Model)以及DOM4J。下面我们将详细探讨这些解析方式及其在实际开发中的应用。 1. SAX解析器: SAX是一种基于事件驱动的解析器,...

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...

    dom4j 解析(读取) xml 节点数据

    要开始解析XML文件,首先需要导入DOM4J的相关包: ```java import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; ``` 接下来,我们将创建...

    DOM4J 解析XML

    **DOM4J解析XML** DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效且功能丰富的API,使得XML的读取、创建、修改和查询变得简单易行。DOM4J的主要特点包括对XPath的支持、事件驱动的解析、以及与...

    dom4j解析xml实例

    **DOM4J解析XML实例详解** 在Java编程中,处理XML文档是一项常见的任务。DOM4J是一个非常流行的、强大的Java XML API,它提供了灵活且高效的方式来解析、创建、修改XML文档。本文将深入探讨如何使用DOM4J进行XML...

    dom4j解析xml

    2. **解析XML文档**: - 使用`Document`对象及其子类提供的方法来查询和修改XML文档。 - 主要通过XPath表达式来定位XML文档中的特定节点或元素。 3. **输出XML文档**: - 将修改后的`Document`对象写回到XML文件...

    自己写的一个dom4j解析xml文件工具类

    自己写的一个dom4j解析xml文件工具类

Global site tag (gtag.js) - Google Analytics