首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

Java创办xml文档笔记(DOM,DOM4J)

2012-09-09 
Java创建xml文档笔记(DOM,DOM4J)创建xml文档的工具类:CreateXmlUtil.javapackage com.maple.utilimport j

Java创建xml文档笔记(DOM,DOM4J)

创建xml文档的工具类:CreateXmlUtil.java

package com.maple.util;import java.io.File;import java.io.FileWriter;import java.text.SimpleDateFormat;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Result;import javax.xml.transform.Source;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.dom4j.DocumentHelper;import org.dom4j.io.OutputFormat;import org.dom4j.io.XMLWriter;import org.w3c.dom.Document;import org.w3c.dom.Element;import com.maple.domain.Employee;/** * CreateXmlUtil.java * @author 小建枫叶 2012-9-2 上午11:30:18 * * TODO 创建xml文件(DOM,DOM4J) */public final class CreateXmlUtil {private CreateXmlUtil() {}/** * DOM方式创建xml文档 * 步骤: * 1.创建空白xml文档 * 2.为xml添加元素,设置元素的属性或文本内容 * 3.保存xml文档到硬盘(保存的时候要两个参数,一个是dom资源,一个是结果输出流) *  * 注意: * 通过这种方式创建好的xml文档不是美化的格式, * 而是所有内容都在一行上的,是非常紧凑的(可以理解为压缩版), * 阅读性不是很好。 * @param employee */public static void createXMLbyDOM(Employee employee) {try {//创建一个空白的xml文档DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();DocumentBuilder documentBuilder = builderFactory.newDocumentBuilder();Document document = documentBuilder.newDocument(); //在内存中新创建一个xml文档//为xml文档添加内容Element rootElement = document.createElement("employees"); //创建根元素,只有document对象才可以创建元素document.appendChild(rootElement);  //将根元素添加到xml文档中Element employeeElement = document.createElement("employee"); //创建employee子元素employeeElement.setAttribute("id", employee.getId());//为该节点设置属性和值rootElement.appendChild(employeeElement);//添加到根元素上Element nameElement = document.createElement("name");nameElement.setTextContent(employee.getName()); //设置该节点的文本内容employeeElement.appendChild(nameElement);Element ageElement = document.createElement("age");ageElement.setTextContent(employee.getAge().toString()); //设置该节点的文本内容employeeElement.appendChild(ageElement);Element sexElement = document.createElement("sex");sexElement.setTextContent(employee.getSex()); //设置该节点的文本内容employeeElement.appendChild(sexElement);SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");Element birthdayElement = document.createElement("birthday");birthdayElement.setTextContent(dateFormat.format(employee.getBirthday())); //设置该节点的文本内容employeeElement.appendChild(birthdayElement);//保存xml文档到硬盘上TransformerFactory transformerFactory = TransformerFactory.newInstance();Transformer transformer = transformerFactory.newTransformer();Source xmlSource = new DOMSource(document); //根据内存中的xml文档创建一个资源Result outputTarget = new StreamResult(new File("F://employees.xml")); //以流的方式输出到目的地,即保存路径   这里写死了保存路径transformer.transform(xmlSource, outputTarget);//第一个参数:要保存的资源  第二个参数:保存的目的地} catch (Exception e) {e.printStackTrace();}}/** * DOM4J方式创建xml文档 *  * 步骤: * 1.创建空白的xml文档 * 2.添加元素,用法类StringBuilder类型 * 3.保存xml文档到硬盘(可以指定输出格式) * @param employee */public static void createXMLbyDOM4J(Employee employee) {org.dom4j.Document document = DocumentHelper.createDocument(); //创建一个空白的xml文档org.dom4j.Element rootElement = document.addElement("employees"); //添加根节点//添加employee节点并设置属性和值org.dom4j.Element employeeElement = rootElement.addElement("employee").addAttribute("id", employee.getId()); //添加name节点并设置文本内容employeeElement.addElement("name").addText(employee.getName());employeeElement.addElement("age").addText(employee.getAge().toString());employeeElement.addElement("sex").addText(employee.getSex());SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");employeeElement.addElement("birthday").addText(dateFormat.format(employee.getBirthday()));//保存xml文档到硬盘        try {        /*        // 输出指定文件,无格式化            XMLWriter writer = new XMLWriter(new FileWriter("F:/employees.xml"));            writer.write(document );            writer.close();            */                   // 美化格式            OutputFormat format = OutputFormat.createPrettyPrint();            XMLWriter writer = new XMLWriter(new FileWriter("F:/employees.xml"), format);            writer.write(document);            writer.close();                    /*            // 缩减格式        OutputFormat format = OutputFormat.createCompactFormat();        XMLWriter writer = new XMLWriter(new FileWriter("F:/employees.xml"), format);        writer.write(document);            writer.close();        */        } catch (Exception e) {            e.printStackTrace();        } }}

源代码下载地址:http://download.csdn.net/detail/xiaojianfengye1/4542763





热点排行