1:引入dom4j.jar包 |
免费下载: http://ishare.iask.sina.com.cn/f/8133067.html?fr
2:创建接口 |
package xml;/**** @author hongliang.dinghl* 定义XML文档建立与解析的接口*/public interface XmlDocument {/*** 建立XML文档* @param fileName 文件全路径名称*/public void createXml(String fileName);/*** 解析XML文档* @param fileName 文件全路径名称*/public void parserXml(String fileName);}
3:完成实现类 |
package xml;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.SAXReader;import org.dom4j.io.XMLWriter;/** * * @author hongliang.dinghl Dom4j 生成XML文档与解析XML文档 */public class Dom4jDemo implements XmlDocument { 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"); 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()); } } 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()); } System.out.println("dom4j parserXml"); }}
4:在指定的盘符下创建指定的xml文件(这里我采用的是回写文件的方法,可以换成文件创建的方法,就是说如果所有回写的xml不存在那么就创建xml在回写内容。) 当指定文件不存在时创建文件: FileOutputStream fileOutputStream = new FileOutputStream(fileName); OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream,"UTF-8"); OutputFormat fmt = OutputFormat.createPrettyPrint(); fmt.setEncoding("utf-8"); XMLWriter writer = new XMLWriter(outputStreamWriter,fmt); writer.write(document); writer.close(); |
5:构建测试类 |
package xml;public class TestMain { XmlDocument xmlEbi = new Dom4jDemo(); public void testCreate(){ xmlEbi.createXml("E:/xml/create.xml"); } public void testParser(){ xmlEbi.parserXml("E:/xml/create.xml"); } public static void main(String[] args) { TestMain tm = new TestMain(); tm.testCreate(); tm.testParser(); }}
本文出自 “” 博客,请务必保留此出处