📄 xmlfactory.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 + -