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

dom4j方式写入与解析XML

阅读更多
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());   
		}   
	}   
} 


TEST:

package com.dheaven.mip.item;

public class xmltest {

	public static void main(String[] args) {
		Dom4jDemo domxml=new Dom4jDemo();
		//写入
		domxml.createXml("D:/domxml.xml");
		//解析
		domxml.parserXml("D:/domxml.xml");
	}
}

分享到:
评论

相关推荐

    dom4j 解析写入xml

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

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中

    利用 dom4j 解析 xml 文档

    自己写的dom4j 解析xml 文档的纤细案例,主要讲解,如何使用dom4j 来读取 或 写入xml 文档。。。

    dom4j解析xml

    使用dom4j解析xml,包括节点的操作、属性的操作、document对象写入新文件等操作。

    Java实现PDF读写(Itext)与解析XML读写(Dom4j)

    二、用Java语言(Dom4j)完成了以下XMLToVds、TxtToVDS功能: 项目文件为TxtToVDS.java 、XMLToVds.java 1、创建TXT D:/zhouyl/111.txt 2、读TXT文本D:/zhouyl/111.txt创建相应格式的D:/zhouyl/111.VDS 3、创建XML...

    DOM4J的读,写,创建XML文件操作

    使用DOM4J进行的一系列对XML文件的操作,包括读写,创建,同时注释出相关的常用的解析器,Document创建器

    利用Java jdk(dom)解析和写入XML文件

    代码可能有点乱,不过用来参考应该足够

    解析XML,并把解析的属性值写入excel

    这是一个Java工程,用到了两项技术: 1. 用dom4j解析XML 2. 把解析的数据存入Excel文件中 例子简单易读

    dom4j

    } <br> /** * 修改XML文件中内容,并另存为一个新文件 * 重点掌握dom4j中如何添加节点,修改节点,删除节点 * @param filename 修改对象文件 * @param newfilename 修改后另存为该文件 * @...

    java处理BOM头的XML

    java处理BOM头的XML,使用记事本编辑会产生BOM头,这样的XML在dom4j处理时会报异常。

    Python minidom模块用法示例【DOM写入和解析XML】

    主要介绍了Python minidom模块用法,结合实例形式分析了Python DOM创建、写入和解析XML文件相关操作技巧,需要的朋友可以参考下

    dom4j的jar包

    解析xml文件以及生成xml文件的jar包,能够快速的解决xml文件的读取与写入,根据元素直接定位

    android json与xml解析 例子 demo

    android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析

    python解析xml文件方式(解析、更新、写入)

    这篇博客内容将包括对XML文件的解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml...

    v1.2 解析XML文件 读取XML文件 保存XML文件 添加节点 删除节点 修改节点 添加属性 修改/删除属性

    功能:写入xml文件 参数:[in] xml文件路径 返回:true写入成功 false写入失败 **************************************/ bool WriteXml(CString sXmlPath /*xml文件路径*/); /****************************...

    SAX,DOM,PULL解析示例

    此示例介绍了xml的三种解析方式,包括SAX解析,dom解析,pull解析 并介绍了读取文件的方法,怎么写入xml文件等内容,希望对您有所帮助,谢谢。

    Delphi向XML中添加节点数据.rar

    Delphi7向常用的XML文件中添加内容,按照XML的节点规则依次写入内容,自定义各个节点及节点内容,具体的操作代码如下示:  var  iXml: IDOMDocument;  iRoot, iNode, iNode2, iChild, iAttribute: IDOMNode;  ...

    jdom1.1.3xml解析工具类

    org.jdom包含了所有的xml文档要素的java类 org.jdom.adapters包含了与dom适配的java类 org.jdom.filter包含了xml文档的过滤器类 org.jdom.input包含了读取xml文档的类 org.jdom.output包含了写入xml文档的类 org....

    xml入门教程/xml入门教程

    4) XML没有定义任何标记,它提供了一种工具定义标记以及它们之间的结构关系; 5) XML是一种用于结构化文本交换的标记语言; 6) XML代表了内容的结构也代表了内容本身; 7) XML继承自SGML(标准通用标记语言)。SGML的...

Global site tag (gtag.js) - Google Analytics