来源
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());
}
}
}
分享到:
相关推荐
Android XML 解析 写入 PULL 方式
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
解析excel写入xml 完成xml树从excel文件之中的写入,实现部分功能。
C#读取XML文件并写入数据库的三种方法,直接写入和先读取到内存再写入数据库
java实现xml解析word文档代码实现,通过解析word书签实现java动态写入word文档。方便使用。
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
代码已经经过测试,可以操作 声明:该代码是一朋友传给的~非本人杰作
android json与xml解析 例子 demo 包含Json和xml解析 其中json包括解析带数组的和不带数组的; xml包括DOM解析和SAX解析
利用libxml2实现的写入和解析XML的c++类,文件中包含了测试的Demo。
解析XML文件(读取,写入,删除,更新)
代码可能有点乱,不过用来参考应该足够
实现tinyxml2解析和创建xml,包括解析和创建CDATA区段数据,元素多属性解析与创建
网上下的XML解析还需要安装,太麻烦,自己写了个代码。 支持XML文件解析,支持属性和值。 这是自己在linux下实验的,直接make即可。添加工程的话直接拷贝xmlDate的头文件和源文件即可。 windows的自己拷贝文件创建...
主要介绍了python解析xml文件方式(解析、更新、写入),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文详细讲述了Android平台基于Pull方式对XML文件解析与写入方法。分享给大家供大家参考,具体如下: XML技术在跨平台的情况下的数据交互中得到了广泛的应用,假如我们需要开发一个Android应用程序,需要同服务器端...
vs2008写的例子 Unicode编码 实现把数据从数组结构体中写入xml,从xml文件中写入数组结构体。 内含一个说明文档里面有个简单的xml文件操作例子,和一个参考的网址链接。 用tinyxml类实现
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中
利用tinyxml源码,实现标准c++下解析xml文件,已经制作了xml解析类,完成多种情况下xml文件读取与写入。
这是一个Java工程,用到了两项技术: 1. 用dom4j解析XML 2. 把解析的数据存入Excel文件中 例子简单易读