博客
关于我
OAF_文件系列6_实现OAF导出XML文件javax.xml.parsers/transformer(案例)
阅读量:804 次
发布时间:2023-02-17

本文共 4644 字,大约阅读时间需要 15 分钟。

 20150803 Created By BaoXinjian

一、摘要


通过javax.xml.parsers和javax.xml.parsers产生XML文件

此过程需要用到一些包方法

1. File:创建XML文件

2. DocumentBuilderFactory / DocumentBuilder : 创建XML文件,并创建根节点

3. 创建节点

3.1 document.createElement:创建节点

3.2 document.createTextNode("INTERAL"):设置节点文本

3.3 element.appendChild(empnum):设置节点属性

 

二、实现分析


1. 创建exportEmployee.java程序

 

 

2. 实现解析的主要过程

package bxj.oracle.apps.ap.java;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys;import javax.xml.transform.Result;import javax.xml.transform.Source;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerConfigurationException;import javax.xml.transform.TransformerException;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Text;public class exportEmployeeXML {    private void ExportEmployeeXML() {            try         {          //创建文件          File empxmlfile = new File("/u2/VIS/visappl/gavin/employeexml/employeewxml.xml");          DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();          DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();          Document doc = docBuilder.newDocument();                    //创建根节点          Element root = doc.createElement("Header");           doc.appendChild(root);                    //创建EMPLOYEE节点          Element emp = doc.createElement("EMPLOYEE");           root.appendChild(emp);                     //创建EMPLOYEE明细节点          Element empid = doc.createElement("EMPLOYEEID");           emp.appendChild(empid);          Text empid_text = doc.createTextNode("1");           empid.appendChild(empid_text);                    Element empnum = doc.createElement("EMPLOYEENUM");           emp.appendChild(empnum);          Text empnum_text = doc.createTextNode("FS_0001");           empnum.appendChild(empnum_text);                    Element empname = doc.createElement("EMPLOYEENAME");           empname.setAttribute("GENDER","MALE");          emp.appendChild(empname);          Text empname_text = doc.createTextNode("BaoXinjian");           empname.appendChild(empname_text);                    Element emptype = doc.createElement("EMPLOYEETYPE");           emp.appendChild(emptype);          Text emptype_text = doc.createTextNode("INTERAL");           emptype.appendChild(emptype_text);                    Element empcountry = doc.createElement("COUNTRY");           emp.appendChild(empcountry);          Text empcountry_text = doc.createTextNode("CN");           empcountry.appendChild(empcountry_text);                    Element empaddr = doc.createElement("ADDRESS");           emp.appendChild(empaddr);          Text empaddr_text = doc.createTextNode("Hangzhou");           empaddr.appendChild(empaddr_text);                    Element empdesc = doc.createElement("DESCRIPTION");           emp.appendChild(empdesc);          Text empdesc_text = doc.createTextNode("Test Employee XML Export");           empdesc.appendChild(empdesc_text);                    //打开文件流          FileOutputStream fos = new FileOutputStream(empxmlfile);           OutputStreamWriter osw = new OutputStreamWriter(fos);           callDomWriter(doc, osw, "UTF-8");           osw.close();           fos.close();         }        catch (Exception ex)        {          ex.printStackTrace();        }       }        //文件转换    public void callDomWriter(Document doc, Writer writer, String encoding) {         try         {           Source source = new DOMSource(doc);           Result res = new StreamResult(writer);           Transformer xformer = TransformerFactory.newInstance().newTransformer();           xformer.setOutputProperty(OutputKeys.ENCODING, encoding);           xformer.transform(source, res);         }catch (TransformerConfigurationException e) {            e.printStackTrace();         } catch (TransformerException e) {            e.printStackTrace();         }                   }     public exportEmployeeXML() {    }    public static void main(String[] args) {        System.out.println("gavin main Start");        exportEmployeeXML exportEmployeeXML = new exportEmployeeXML();            exportEmployeeXML.ExportEmployeeXML();        System.out.println("gavin main End");    }}

 

三、运行测试


1. 运行测试

 

 2. 确定是否在本地所创建的XML文件

 

3. 查看所常见的XML文件,并无问题

 

Thanks and Regards

ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建

转载地址:http://aknfk.baihongyu.com/

你可能感兴趣的文章
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>
MySQL Workbench安装教程以及菜单汉化
查看>>
MySQL Xtrabackup 安装、备份、恢复
查看>>