`

dom4J 解析Xml文档以及对象

 
阅读更多
Dom4J

Dom4J是一个易用,开源的库,多用于解析XML,Xpath,Xslt,它用于Java平台,采用了Java集合框架,并完全支持DOM,SAX和Jaxp
Dom4J的下载地址 http://sourceforge.net/projects/dom4j/files/dom4j-2.0.0-ALPHA-2/

1 读取/解析Xml文档(依赖于org.dom4j.io)

//该方法返回的是整个XML文档对象
public Document read(String fileName) throws SomeException{
   SAXReader saxReader = new SAXReader();
   Document doc = saxReader.read(new file(fileName));
   return doc;    
}


方法说明
read方法为重载形式的方法
read(InputStream is);  //使用输入流作为参数
read(File file);       //使用文件对象作为参数
read(Url url);         //使用同一转定位符作为参数


2 获取root根节点
任何一个规范的XML文件都必须有一个"根" 做为基础节点,如下例
 <?xml version="1.0" encoding="utf-8"?>
  <!--该文档中每一个Employee节点都可表示为一个Employee对象,每个对象都有四个属性---->
  <Employees>
   <Employee>
     <id>32001</id>
     <employeeName>Hostman</employeeName>
     <employeeAge>22</employeeAge>
     <employeeEmail>Hostman@msn.com</employeeEmail>
   </Employee>
   <Employee>
     <id>32002</id>
     <employeeName>green</employeeName>
     <employeeAge>23</employeeAge>
     <employeeEmail>green123@msn.com</employeeEmail>
   </Employee>
  </Employees>


//该方法返回的是Employees节点对象 
public Element getRootElement(Document document)throws SomeException{
   return document.getRootElement();  
 }


3 迭代XML树对象
有三种方法
 //rootElement 为根节点对象
 for (Iterator i = rootElement.elementIterator(); i.hasNext();) {
	 Element element = (Element) i.next();
                 for(int c=0;c<element.elements().size();c++){
                   Element node = (Element) element.elements().get(c);
                   System.out.println(node.getText());
      }

  for(Iterator i = rootElement.elementIterator();i.hasNext();){
				 Element e = (Element) i.next();
				  for(int c=0;c<e.elements().size();c++){
	                   Element node = (Element) e.elements().get(c);
	                   System.out.println(node.getText());
				 
      }

  for(Iterator i = rootElement.elementIterator("data");i.hasNext();){
				 Element e = (Element) i.next();
				  for(int c=0;c<e.elements().size();c++){
	                   Element node = (Element) e.elements().get(c);
	                   System.out.println(node.getText());
				 
      }

 //获取XML文档对象中的属性
 List list = rootElement.elements();
		     for(int i=0;i<list.size();i++){
		    	Element e = (Element) list.get(i);
		        List attrList = e.attributes();
		        for(int c=0;c<attrList.size();c++){
		        	 Attribute attr = (Attribute) attrList.get(c);
				     System.out.println(attr.getName() + "  " + attr.getText());
      }
		       
 }
分享到:
评论

相关推荐

    dom4j解析xml详解

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

    dom4j解析xml文件的压缩包

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

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

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

    dom4j解析xml文件代码示例

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

    java dom4j解析xml

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

    dom4j 解析写入xml

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

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

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

    DOM4J 解析XML

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

    用dom4j解析xml文件

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

    dom4j解析XML文档.ppt

    在解析XML文档后,DOM4J将XML转换为一个对象树,这个树结构与DOM类似但更易于操作。DOM4J的Element类代表XML元素,它提供了丰富的API,例如`elements()`方法,可以轻松获取元素的所有子元素,而不仅仅是子节点,这样...

    dom4j解析xml

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

    dom4j解析XML所需jar包

    5. **XML文档操作**:DOM4J提供了丰富的API,如添加、删除、移动和复制XML节点,以及修改节点内容和属性值。这些功能使得对XML文档的维护和更新变得非常方便。 6. **XPath和XSLT转换**:除了基本的XML操作,DOM4J还...

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

    dom4j 解析xml实例

    通过这个实例,我们可以学习到DOM4J解析XML的基本操作,包括加载XML文件、访问和修改元素、以及保存更改。这只是一个简单的例子,DOM4J库还提供了更高级的功能,如XPath查询、事件驱动的处理模式等,可以满足更复杂...

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

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

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

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

    dom4j解析xml,利用反射机制

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

Global site tag (gtag.js) - Google Analytics