`

xml解析与写入

    博客分类:
  • xml
 
阅读更多
来源http://hillen-chan.iteye.com/blog/870365
package com.dheaven.mip.item;

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

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

public class Dom4jDemo implements XmlDocument {


	/* (non-Javadoc)写入xml
	 * @see com.dheaven.mip.item.XmlDocument#createXml(java.lang.String)
	 */
	public void createXml(String fileName) { 
		//创建document对象
		Document document=DocumentHelper.createDocument();
		//为document对象添加一级节点
		Element students=document.addElement("students");
		//在一级节点下添加二级节点
		Element student=students.addElement("student");
		Element name=student.addElement("name");
		name.setText("刘德华");
		Element sex=student.addElement("sex");
		sex.setText("男");
		try {
			/*直接通过write方法输出,如下,此时输出的xml文件中为默认的UTF-8编码,没有格式,空格也没有去除,实际上就是一个字符串;*/
			Writer fileWriter=new FileWriter(fileName);
//			XMLWriter xmlWriter=new XMLWriter(fileWriter);    
			 
			/* 用XMLWriter类中的write方法,此时可以自行设置输出格式,比如紧凑型、缩减型:此时输出的xml文件中为gb2312编码,缩减型格式,但是多余的空格已经被清除:*/
			 OutputFormat format = OutputFormat.createPrettyPrint();//缩减型格式
			 //OutputFormat format = OutputFormat.createCompactFormat();//紧凑型格式
			 format.setEncoding("gb2312");//设置编码
			 //format.setTrimText(false);//设置text中是否要删除其中多余的空格
			 XMLWriter xmlWriter=new XMLWriter(fileWriter,format);
			 
			 /*如果想要对xml文件的输出格式进行设置,就必须用XMLWriter类,但是我们又需要保留其中的空格,此时我们就需要对format进行设置,也就是加上一句format.setTrimText(false);
这样就可以既保持xml文件的输出格式,也可以保留其中的空格;element中attribute中的值如果有空格的话在任何情况下是都不会去除空格的;*/
			 xmlWriter.write(document);
			 xmlWriter.close(); 
		} catch (IOException e) {
			e.printStackTrace();
		}  
		
	} 
	

	
	/* (non-Javadoc)解析xml文件
	 * @see com.dheaven.mip.item.XmlDocument#parserXml(java.lang.String)
	 */
	public void parserXml(String fileName) { 
		File inputXml=new File(fileName);   
		SAXReader saxReader = new SAXReader();   
		try {   
			Document document = saxReader.read(inputXml);   
			Element employees=document.getRootElement();   
			for(Iterator i = employees.elementIterator(); i.hasNext();){   
				Element employee = (Element) i.next();   
				for(Iterator j = employee.elementIterator(); j.hasNext();){   
					Element node=(Element) j.next();   
					System.out.println(node.getName()+":"+node.getText());   
				}   
			}   
		} catch (DocumentException e) {   
			System.out.println(e.getMessage());   
		}   
	}   
} 
分享到:
评论

相关推荐

    易语言 xml解析 易语言 xml解析 教程 带源码

    在易语言中,学习XML解析有助于开发者有效地读取、写入和处理XML文档,实现数据的存取和应用。 易语言XML解析主要涉及到以下几个关键知识点: 1. **XML基础**:首先,我们需要了解XML的基本结构和语法规则,如元素...

    Android XML 解析 写入

    本篇将详细探讨Android中的XML解析,特别是PULL解析方式,并讲解如何进行XML的写入操作。 ### 1. Android XML解析概述 XML解析器分为两种主要类型:DOM(Document Object Model)和PULL(Pull Parser)。DOM解析器...

    XML解析器示例

    在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...

    C#读取XML文件并写入数据库

    在IT行业中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于解析,常用于存储和传输数据。C#是.NET框架下的主要编程语言,具有丰富的库支持,使得处理XML文件变得相当简单。当我们...

    dom4j 解析写入xml

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

    解析excel写入xml

    本篇将详细探讨如何解析Excel文件并将其内容写入到XML中。 首先,我们要理解Excel文件的结构。Excel文件通常是二进制的`.xlsx`格式,它由多个基于Open XML标准的XML文件组成,存储在一个压缩的ZIP文件内。我们可以...

    Unity实现读取XML和数据写入到XML

    1. **XML序列化**:通过创建一个类,该类的属性与XML文档中的元素相对应,然后使用`XmlSerializer.Serialize`方法将对象实例转换为XML字符串。例如,一个表示角色的数据类可能包含姓名、等级、生命值等属性,这些...

    XML解析和生成工具

    本文将深入探讨XML解析和生成工具的相关知识,以及如何利用提供的`Markup.cpp`和`Markup.h`文件进行操作。 XML的结构: XML文档由一系列元素构成,每个元素都有一个开始标签和结束标签,如 `<tag>` 和 `</tag>`。...

    QT解析xml文档 读取写入

    使用`QDomDocument::parse()`函数或者`QFile`与`QTextStream`结合,读取XML文件内容并解析成QDomDocument对象。 ```cpp QFile file("path_to_xml_file.xml"); file.open(QIODevice::ReadOnly | QIODevice::Text); ...

    XML解析与生成

    总结来说,XML解析与生成是软件开发中常用的数据处理技术。理解DOM、SAX和StAX的优缺点以及如何使用它们,对于处理XML数据至关重要。SAX解析器如`SaxXml`实例,展示了如何通过事件驱动的方式高效地处理XML文档,而...

    XML解析器,用于解析XML文件

    理解和熟练使用XML解析器是任何IT专业人士的必备技能之一,无论是在移动应用、Web服务还是桌面应用程序中,XML解析都发挥着关键作用。了解和掌握TinyXML这样的解析库,可以帮助开发者更高效地处理XML数据。

    C# 读取XML文件并写入Excel表格

    综上所述,"C# 读取XML文件并写入Excel表格"这一主题涵盖了XML解析和Excel操作的关键技术,对于数据处理和报告生成等场景非常实用。在实际应用中,开发者可以根据具体需求调整代码逻辑,以满足各种复杂的业务需求。

    dom读取xml与写入xml

    这个模型由节点构成,包括元素、属性、文本等,使得程序员可以通过JavaScript、Java、Python等语言对XML文档进行读取和写入操作。本文将深入探讨DOM解析XML的原理和实践,并通过源码分析来揭示其实现细节。 首先,...

    C++ XML文件解析库 tinyxml2

    1. **XML解析**:TinyXML2通过`XMLDocument`类来表示整个XML文档,你可以使用`LoadFile()`或`Parse()`方法加载XML文件或内存中的XML字符串。解析完成后,文档的结构被映射为一系列的节点,包括元素(XMLElement)、...

    XML解析框架比较

    本文将深入探讨几种常见的XML解析框架,并对比它们的特点与适用场景。 一、DOM解析器 DOM(Document Object Model)是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过节点操作来读取和修改XML内容...

    xml 解析源代码和应用

    在这里,可能有针对XML的读取、遍历、写入等操作的实现,通过C#的API与XML文档交互。开发者可能还展示了如何处理XML节点、处理命名空间、验证XML文档结构等高级功能。 `last_1.bmp`和`last_2.bmp`可能是设计图或...

    linux xml解析资源

    本资源包主要关注的是Linux环境下的XML解析,特别是开源代码的应用。 标题中的“Linux XML解析资源”指的是在Linux操作系统中处理和解析XML文档的相关工具和技术。在Linux世界里,由于其开源和自由软件的理念,有...

    C++解析xml文件

    下面我们将详细介绍如何使用TinyXML进行XML解析: 1. **安装TinyXML**: 在项目中添加TinyXML库,通常包括头文件(如`tinyxml.h`)和对应的库文件(如`libtinyxml.a`或`tinyxml.lib`),根据编译器和开发环境的...

    java实现xml解析word文档代码实现

    Java 实现 XML 解析 Word 文档代码实现 基于给定的文件信息,我们可以总结出以下知识点: 1. Java 实现 XML 解析 Word 文档 ...使用 Java 实现 XML 解析 Word 文档可以使得 Word 文档的动态写入变得更加灵活和方便。

    XML解析还原代码

    最后,将二叉树中的数据按照XML文件格式输出到新的文件中,与打印到屏幕的过程类似,只是这次写入的是文件而不是控制台。需要确保正确处理缩进和换行,以保持XML的可读性。 在实现这个过程时,可以使用各种编程语言...

Global site tag (gtag.js) - Google Analytics