jdom 으로 DB 에 있 는 여러 표 의 내용 을 XML 에 기록 합 니 다.

7210 단어 sqlxml.netjdbcJ#
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class DBToXML {
	
	public void BuildXMLDoc()throws Exception{
		String tables[]={"t_information","t_user"};
		 int j;
		String colval;
		//              
		 Element rootElement = new Element("dbData");
		 //         
	Document myDocument = new Document(rootElement);
	 for(int i=0;i<tables.length;i++){
						ResultSet resultset= selectTable(tables[i]);
						ResultSetMetaData rsmd=resultset.getMetaData();
			//          
	int numCols = rsmd.getColumnCount();
						//System.out.println("db_to_xml:numCols:" + numCols);
		 //                     
			j=0;
	while (resultset.next()) {
							//       ,         number  
								Element elements=new Element(tables[i]);
								elements.setAttribute("number",""+j++);
								//     ,      
								for (int k=1; k <= numCols; k++) {
									colval=resultset.getString(k);
									//             
									if(resultset.wasNull()){
										colval=" ";
					}
//                  
elements.addContent(new Element(rsmd.getColumnName(k)).setText("\'"+colval+"\'"));
							         }
							rootElement.addContent(elements);
				}
			 }
 // doc     xml 
XMLOutputter XMLOut=new XMLOutputter(Format.getPrettyFormat());
XMLOut.output(myDocument, new FileOutputStream("data.xml"));
		 }//BuildXMLDoc
	
public static Connection getConn()throws Exception{
	Class.forName("net.sourceforge.jtds.jdbc.Driver");
 String connStr="jdbc:jtds:sqlserver://localhost:1433/webNews";
Connection conn=DriverManager.getConnection(connStr,"sa","");
			 return conn;
		 }

public static ResultSet selectTable(String TableName)throws Exception{
	Statement stat=DBToXML.getConn().createStatement();
		String sql="select *from " +TableName;
		ResultSet rs=stat.executeQuery(sql);
		return rs;
		}
	
public static void main(String[] args) {
		
		try {
			DBToXML dbToXML=new DBToXML();
			dbToXML.BuildXMLDoc();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}

 
XML 생 성
<?xml version="1.0" encoding="UTF-8"?>
<dbData>
  <t_information number="0">
    <id>'1'</id>
    <content>'ed'</content>
    <createDate>' '</createDate>
    <source>'ff'</source>
    <title>'fff'</title>
    <url>' '</url>
    <equipment_id>null</equipment_id>
    <type_id>null</type_id>
  </t_information>
  <t_information number="1">
    <id>'2'</id>
    <content>'cc'</content>
    <createDate>' '</createDate>
    <source>'cc'</source>
    <title>' '</title>
    <url>' '</url>
    <equipment_id>null</equipment_id>
    <type_id>null</type_id>
  </t_information>
  <t_user number="0">
    <id>'1'</id>
    <birthday>' '</birthday>
    <enabled>'1'</enabled>
    <gender>' '</gender>
    <password>'33'</password>
    <realName>'dd'</realName>
    <school>'dd'</school>
    <specialty>' '</specialty>
    <username>' '</username>
  </t_user>
  <t_user number="1">
    <id>'2'</id>
    <birthday>' '</birthday>
    <enabled>'1'</enabled>
    <gender>' '</gender>
    <password>'dfgd'</password>
    <realName>'dg'</realName>
    <school>'dfg'</school>
    <specialty>'dfd'</specialty>
    <username>'dfg'</username>
  </t_user>
  <t_user number="2">
    <id>'3'</id>
    <birthday>' '</birthday>
    <enabled>'0'</enabled>
    <gender>' '</gender>
    <password>'45'</password>
    <realName>'reet'</realName>
    <school>'ert'</school>
    <specialty>'ert'</specialty>
    <username>'ert'</username>
  </t_user>
  <t_user number="3">
    <id>'5'</id>
    <birthday>'1900-01-01 00:00:00.0'</birthday>
    <enabled>'0'</enabled>
    <gender>''</gender>
    <password>'452'</password>
    <realName>'reets'</realName>
    <school>'erts'</school>
    <specialty>'erts'</specialty>
    <username>'erts'</username>
  </t_user>
  <t_user number="4">
    <id>'6'</id>
    <birthday>'1900-01-01 00:00:00.0'</birthday>
    <enabled>'2'</enabled>
    <gender>'2'</gender>
    <password>'4542'</password>
    <realName>'re2ets'</realName>
    <school>'er2ts'</school>
    <specialty>'e2rts'</specialty>
    <username>'ert2s'</username>
  </t_user>
  <t_user number="5">
    <id>'7'</id>
    <birthday>'1900-01-01 00:00:00.0'</birthday>
    <enabled>'42'</enabled>
    <gender>'22'</gender>
    <password>'4542'</password>
    <realName>'re22ets'</realName>
    <school>'er2t2s'</school>
    <specialty>'e2r3ts'</specialty>
    <username>'ert22s'</username>
  </t_user>
</dbData>


좋은 웹페이지 즐겨찾기