`

Dom4j解析xml文件

XML 
阅读更多
//要读出的xml文件如下:
<?xml version="1.0" encoding="gbk"?>

<Record>
  <Head>
    <Cod>1</Cod>
    <Recitified>是</Recitified>
  </Head>
  <Body>
    <ParamList>
      <SheehCod>1.1.1</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
    <ParamList>
      <SheehCod>1.1.2</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
    <ParamList>
      <SheehCod>1.1.3</SheehCod>
      <Param>
        <ItemName>航空加油站</ItemName>
      </Param>
      <Param>
        <ItemName>纪检中心</ItemName>
      </Param>
      <Param>
        <ItemName>油库中心</ItemName>
      </Param>
      <Param>
        <ItemName>其他</ItemName>
      </Param>
    </ParamList>
  </Body>
</Record>



package com.test.xml;

import java.io.File;
import java.util.Iterator;
import java.util.Map;

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

public class JieXiXml {

	public static void main(String[] args) {
		JieXiXml jiexi = new JieXiXml();
		String fileName = "xml/bu.xml";
		Map xmlMap = null;
		jiexi.iterateXml(fileName, xmlMap);
	}

	public void iterateXml(String fileName, Map xmlMap) {
		SAXReader sax = new SAXReader();

		try {
			Document document = sax.read(new File(fileName));
			Element root = document.getRootElement();

			// 用于记录学生编号的变量
			int num = -1;
			// 遍历根节点(Record)
			System.out.println(root.getName());
			Iterator bodyIter = root.elementIterator("Body");

			while (bodyIter.hasNext()) {
				Element bodyEl = (Element) bodyIter.next();

				// 遍历
				// Iterator paramListIter=bodyEl.elementIterator("ParamList");
				// while(paramListIter.hasNext()){
				// Element pararmListEl=(Element) paramListIter.next();
				// System.out.println(pararmListEl.getName());

				for (Iterator paramIter = bodyEl.elementIterator(); paramIter
						.hasNext();) {
					Element pararmListEl = (Element) paramIter.next();

					for (Iterator param = pararmListEl.elementIterator(); param
							.hasNext();) {
						Element paramEl = (Element) param.next();
						//System.out.println("1"+name.getName()+"2");
						
						//循环param里面的值
						
						for(Iterator itemIter = paramEl.elementIterator();itemIter.hasNext();){
							Element itemEl=(Element) itemIter.next();
	
         
						System.out.println(itemEl.getName());
	//在这里我看不出来它们的差别,从字面意思理解就是 它们都有不同。或许是由于bu.xml本身的没有差别啊.是<ItemName>库站名称</ItemName> 里面如果包含<It>Test</It> 那么就输出的结果就是getText():库站名称后面有空格
getTextTrim():库站名称
getStringValue():库站名称 空格 Test 空格
			System.out.println(itemEl.getText());
							System.out.println(itemEl.getTextTrim());
							System.out.println(itemEl.getStringValue());
						}
						
						// System.out.println(name.getStringValue());

					}
				}
			}
			// }

		} catch (DocumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}

//读出来的内容为:
Record
ItemName
航空加油站
航空加油站
航空加油站
ItemName
纪检中心
纪检中心
纪检中心
ItemName
油库中心
油库中心
油库中心
ItemName
其他
其他
其他
ItemName
航空加油站
航空加油站
航空加油站
ItemName
纪检中心
纪检中心
纪检中心
ItemName
油库中心
油库中心
油库中心
ItemName
其他
其他
其他
ItemName
航空加油站
航空加油站
航空加油站
ItemName
纪检中心
纪检中心
纪检中心
ItemName
油库中心
油库中心
油库中心
ItemName
其他
其他
其他
分享到:
评论

相关推荐

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

    在“dom4j解析xml文件(增删改查)”这个主题中,我们将深入探讨如何使用DOM4J来实现XML文档的四种基本操作:增加元素、删除元素、更新元素内容以及查询元素。 首先,让我们了解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文档介绍

    "以及解析xml文档所用的pdf文档说明"则表明还有一个PDF文档,可能详细介绍了如何使用dom4j来解析XML文件,包括各种方法、类和接口的使用示例。 **dom4j解析XML文档知识点:** 1. **dom4j简介**:dom4j是一个开放...

    用dom4j解析xml文件

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

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

    以下是如何使用DOM4j解析XML: 1. 引入DOM4j库(如:dom4j-1.6.1.jar)。 2. 创建DocumentFactory实例。 3. 使用DocumentFactory的read()方法读取XML文件,得到Document对象。 4. 使用Document对象提供的方法(如...

    使用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反射机制将解析结果动态地映射到自定义的Java类中。这在处理XML数据时提供了很大的灵活性,尤其在需要将XML数据与业务对象关联时,反射机制显得尤为重要。

    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文档

    以下是一个DOM4J解析XML的简单示例: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public class Dom4jExample { public static void main(String[] args) {...

    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

    ### DOM4J解析XML知识点详解 #### 一、DOM4J简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...

    dom4j解析XML所需jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单。DOM4J的名字来源于DOM(Document Object Model)和Java的结合,但它的设计理念比标准DOM更先进...

Global site tag (gtag.js) - Google Analytics