jdom 으로 DB 에 있 는 여러 표 의 내용 을 XML 에 기록 합 니 다.
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>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.