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

利用dom4j创建XML和解析XML

阅读更多
package com.ylt.mfz.util;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jDemo {

	/**
	 * 创建xml文件
	 * @param fileName
	 */
	public void createXml(String fileName) 
	{   
		Document document = DocumentHelper.createDocument();  //创建文档  
		Element employees=document.addElement("employees");   
		Element employee=employees.addElement("employee");   
		Element name= employee.addElement("name");   //添加子节点
		name.setText("ddvip"); //添加Text值;例:<a>abc</a>
		name.setAttributeValue("sa", "sa"); //添加属性;例:<a item="item"></a>
		Element sex=employee.addElement("sex");   
		sex.setText("m");   
		Element age=employee.addElement("age");   
		age.setText("29");   
		try {   
			Writer fileWriter=new FileWriter(fileName);   
			XMLWriter xmlWriter=new XMLWriter(fileWriter);   
			xmlWriter.write(document);   //写入文件中
			xmlWriter.close();  
			} catch (IOException e) {   
				System.out.println(e.getMessage());   
			}   
	}   
	
	/**
	 * 读取xml文件
	 * @param fileName
	 */
	public void parserXml(String fileName) 
	{   
		File inputXml=new File(fileName);   
		SAXReader saxReader = new SAXReader();   
		try {   
			Document document = saxReader.read(inputXml);   //把文件读入到文档
			Element employees=document.getRootElement();   //获取文档根节点
			//System.out.println(employees);
			//for(Iterator i = employees.elementIterator(); i.hasNext();){   
				//Element employee = (Element) i.next();  
//				System.out.println(employee);
//				for(Iterator j = employee.elementIterator(); j.hasNext();){   
//					Element node=(Element) j.next();   
//					System.out.println(node.getName()+":"+node.getText()+":");
//					for(Iterator m = node.attributeIterator();m.hasNext();)
//					{				
//						Attribute item = (Attribute)m.next();
//						System.out.println(item.getName()+","+item.getValue());
//					}
//				}   
				this.doublexml(employees);
			//}   
		} catch (DocumentException e) {   
			System.out.println(e.getMessage());   
		}   
			System.out.println("dom4j parserXml");   
	}   
	
	
	private void doublexml(Element ele)
	{
		for(Iterator i = ele.elementIterator();i.hasNext();)
		{
			Element node = (Element)i.next();
			System.out.println("节点名:"+node.getName());
			if(node.attributes()!=null && node.attributes().size()>0)
			{
				for(Iterator j = node.attributeIterator();j.hasNext();)
				{
					Attribute item = (Attribute)j.next();
					System.out.print("属性名:"+item.getName()+"\t属性值:"+item.getValue()+"\n");
				}
			}
			if(node.getText().length()>0)
			{
				System.out.println("节点值:"+node.getText());
			}
			if(node.elementIterator().hasNext())
			{
				this.doublexml(node);
			}
		}
	}
	
	public static void main(String[] args) {
		Dom4jDemo demo = new Dom4jDemo();
			
		demo.createXml("d:/sa.xml");
			
		demo.parserXml("d:/getchannels[1].xml");
	}
}
2
2
分享到:
评论

相关推荐

    利用Dom4j生成XML和解析XML

    "Dom4j 生成 XML 和解析 XML" Dom4j 是一个 Java 库,用于处理 XML 文档。它提供了生成和解析 XML 文档的功能。在本文中,我们将学习如何使用 Dom4j 生成 XML 文档和解析 XML 文档。 生成 XML 文档 使用 Dom4j ...

    Dom4J生成XML的完整方法希望大家能用到

    Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至...

    dom4j解析xml详解

    DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时的强大工具。DOM4J的最大亮点在于其简洁易用的API...

    dom4j解析xml文件的压缩包

    为了使用这个库,你需要将该jar包添加到项目的类路径中,然后就可以通过DOM4J提供的类和方法来解析和操作XML文件了。 总之,DOM4J是一个功能强大的XML处理库,无论是在小型项目还是大型系统中,都能发挥其优势,...

    使用 dom4j 解析 XML

    使用 dom4j 解析 XML dom4j 解析 XML dom4j解析xml

    dom4J生成xml、解析xml、生成xml文件实例

    **dom4J生成和解析XML文件** DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML...

    dom4j解析xml,利用反射机制

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

    java dom4j解析xml

    Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得...通过理解上述DOM4J解析XML的基本概念、操作和示例,开发者可以有效地在Java项目中处理XML数据,无论是读取、创建还是修改XML文件。

    dom4j 解析写入xml

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

    dom4j解析XML所需jar包

    2. **XML解析**:DOM4J支持多种解析方式,包括SAX(Simple API for XML)和DOM。SAX是基于事件的解析,适用于处理大文件;DOM则将整个XML文档加载到内存,适合小规模或内存允许的情况。DOM4J还提供了StAX(Streaming...

    dom4j读取XML,解析XML简单示例

    在本示例中,我们将探讨如何利用DOM4J来读取和解析XML文件,以及如何通过`XMLTest.java`这个示例来理解DOM4J的基本用法。 首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤...

    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简介 DOM4J是一个Java库,用于处理XML文档。它的设计目标是为了提供一个简单、易于使用的API来处理XML文件,同时保持性能上的优势。与Java标准库中的DOM实现相比,DOM4J...

    dom4j解析xml实例

    通过学习和实践这些基本操作,你可以熟练掌握DOM4J解析XML的技巧,为你的Java项目中处理XML数据提供强大的支持。在项目中遇到具体问题时,可以参考DOM4J的官方文档,或利用在线资源进行更深入的学习。

    dom4j解析及生成 xml代码收集

    下面我们将深入探讨DOM4J在XML解析和生成中的核心概念和技术。 1. **DOM4J解析XML** - **Document对象**:DOM4J的核心是`Document`对象,它代表整个XML文档。解析XML文件后,DOM4J会构建一个`Document`对象树,你...

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即Document对象。解析器有SAX和DOM两种模式,SAX是事件驱动的,适用于大文件,而DOM则将整个文档加载到内存中,适合小文件。 2. **创建XML**:DOM4...

    DOM4J 解析XML

    在解析XML时,DOM4J有两种主要的解析方式:SAX和DOM。SAX是一种基于事件的解析器,适用于处理大型XML文档,因为它不会将整个文档加载到内存中。DOM,即文档对象模型,会构建一个完整的XML树,适合小型或中等大小的...

Global site tag (gtag.js) - Google Analytics