⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlfactory.java

📁 一个ERP强大系统的源码
💻 JAVA
字号:
/*
 *this file is part of nseer erp
 *Copyright (C)2006-2010 Nseer(Beijing) Technology co.LTD/http://www.nseer.com 
 *
 *This program is free software; you can redistribute it and/or
 *modify it under the terms of the GNU General Public License
 *as published by the Free Software Foundation; either
 *version 2 of the License, or (at your option) any later version.
 *
 *This program is distributed in the hope that it will be useful,
 *but WITHOUT ANY WARRANTY; without even the implied warranty of
 *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *GNU General Public License for more details.
 *
 *You should have received a copy of the GNU General Public License
 *along with this program; if not, write to the Free Software
 *Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *这个文件是恩信科技ERP软件的组成部分。
 *版权所有(C)2006-2010 北京恩信创业科技有限公司/http://www.nseer.com
 *
 *这一程序是自由软件,你可以遵照自由软件基金会出版的GNU通用公共许可
 *证条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你的选
 *择)用任何更新的版本。
 *
 *发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定目
 *的的隐含的担保。更详细的情况请参阅GNU通用公共许可证。
 *你应该已经和程序一起收到一份GNU通用公共许可证的副本。如果还没有,
 *写信给:
 *The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
 *MA02139, USA
 */
package com.xml.export;

import java.sql.*;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
import org.jdom.input.SAXBuilder;
import com.xml.export.Path;
import com.xml.export.Datum;
import com.xml.export.Masking;

public class XmlFactory extends Path{
		 
	    //ArrayList ids = new ArrayList();
		List columnnames = null;
		Vector contents = new Vector();
	   private String file = null;
	   private SAXBuilder builder = null;
	   private Document doc= null;
	   private Element  root = null;
	   private Element table = null;
       private File cfile = null;
       private String strmask = "";
	   private String database="";
	   private String tablename="";
	   private String xml_file="";
	   private String condition="";
	   private String[] cols=new String[10000];
	
	  
	   public XmlFactory(){
	   	
	   	}
	   public XmlFactory(String filename,String database,String tablename,String[] cols,String xml_file,String condition){
		   this.database=database;
		   this.tablename=tablename;
		   this.cols=cols;
		   this.xml_file=xml_file;
		   this.condition=condition;
	   	 try {
	   	 	file = getPath()+"/"+filename;
	   	 	try {
				 FileWriter fw = new FileWriter(file);
	   	 	     fw.write("<table>");
	   	 	     fw.write("</table>");
	   	 	     fw.flush();
				 }
				 catch (Exception ex) {
				  ex.printStackTrace();
				 }
	   	 	builder = new SAXBuilder();
	   	 	doc = builder.build(new File(file));
		    }
		    catch (JDOMParseException jpex) {
		    	 try {
				 FileWriter fw = new FileWriter(file);
	   	 	     fw.write("<table>");
	   	 	     fw.write("</table>");
	   	 	     fw.flush();
				 }
				 catch (Exception ex) {
				 }
		    	jpex.printStackTrace();
		    }catch(JDOMException je){
		      	 je.printStackTrace();
		    }catch(IOException ie){
		    	 ie.printStackTrace();
		    	}
		   }
		 
		 public void setMask(String strmask){
		 	   this.strmask = strmask;
		 	}
	   String data = "";
	   Element element = null;
	   ResultSetMetaData rsmd= null;
	   public void makeElement() throws Exception{
	   	    Datum  datum = new Datum(database,tablename,condition);
	   	    Masking mask = new Masking();
	   	    mask.init(xml_file);
	   	    rsmd= datum.dbif.rs.getMetaData();
	   	    int columnnumbers = rsmd.getColumnCount();
	   	    columnnames = mask.getColumnNicks(tablename);
	   	    table = new Element("table");
	   	 	doc.setRootElement(table);
	   	 	 root = doc.getRootElement();
	   	    while(datum.dbif.rs.next()){
	   	      for(int i=0;i<cols.length;){
			   StringTokenizer token=new StringTokenizer(cols[i],"/");
			   while(token.hasMoreTokens()){
	   	       data=new String(datum.dbif.rs.getString(token.nextToken()).getBytes("UTF-8"),"UTF-8");
	   	       element =new Element(token.nextToken()); 
	   	      root.addContent(element.setText(data));
			   }
	   	      i++;
	   	    }	   	    
	   	  }    
	   }
	  
	  
	  public void Xmlwrite(){
	    try {
	      XMLOutputter outputter=new XMLOutputter("  ",true,"GB2312");//"  "意为缩进几个空格
	      FileWriter writer = new FileWriter(file);
	      outputter.setTextTrim(true);//清除空格,为了缩进一致
	      outputter.output(doc,writer);
	      writer.close();
	    } catch(FileNotFoundException e) {
	      e.printStackTrace();
	    } catch(IOException ioe) {
	      ioe.printStackTrace();
	    } 
      }
     
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -