读取数据库中的数据到xml java
2013-10-30 11:52
405 查看
第一步下载jar包
crimson.jar
第二步()
注意sql 语句 以及生成位置 本单元测试生成在src下
package com.test.xml;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.crimson.tree.XmlDocument;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.xml.sax.SAXException;
public class schemeXml
{
static Connection conn=null;
static String sql;
public static void main(String[] args)
{
try
{ //链接数据库,取得数据
//Class.forName("oracle.jdbc.driver.OracleDriver");//oracle数据库
Class.forName("com.mysql.jdbc.Driver");//mysql数据库
conn=DriverManager.getConnection("jdbc:mysql://192.168.1.109/cpsad?user=root&password=admin&useUnicode=true&characterEncoding=UTF-8");
Statement
st=conn.createStatement();
ResultSet
rs=st.executeQuery("select * from user");
DocumentBuilderFactory
factory=DocumentBuilderFactory.newInstance();
DocumentBuilder
builder=factory.newDocumentBuilder();
Document
doc=builder.newDocument();
Element
comp=doc.createElement_x_x("COMP");
while(rs.next())
{
Element
person=doc.createElement_x_x("PERSON");
Element
deptno=doc.createElement_x_x("DEPTNO");
deptno.a(doc.createTextNode(String.valueOf(rs.getInt(1))));
person.a(deptno);
Element
dname=doc.createElement_x_x("DNAME");
dname.a(doc.createTextNode(new
schemeXml().xmlReplace(rs.getString(2))));
person.a(dname);
Element
loc=doc.createElement_x_x("LOC");
loc.a(doc.createTextNode(new
schemeXml().xmlReplace(rs.getString(3))));
person.a(loc);
comp.a(person);
}
rs.close();
st.close();
conn.close();
doc.a(comp);
((XmlDocument)doc).write(new
FileOutputStream("src/dept.xml"));
System.out.println("操作成功!!!");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}catch(SQLException e1)
{
e1.printStackTrace();
}catch(ParserConfigurationException e2)
{
e2.printStackTrace();
}catch(FileNotFoundException e3)
{
e3.printStackTrace();
}catch(IOException e4)
{
e4.printStackTrace();
}
}
public String xmlReplace(String value){
System.out.println("value---old"+value);
//value=value.replace("&",
"&");
//
value=value.replace("<",
"<");
//
value=value.replace(">",
">");
// value=value.replace("'",
"'");
value=value.replace(
"<","<");
value=value.replace(
">",">");
value=value.replace(
"'","'");
// value.replace("""", """);
System.out.println("value---new"+value);
return
value;
}
}
crimson.jar
第二步()
注意sql 语句 以及生成位置 本单元测试生成在src下
package com.test.xml;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.apache.crimson.tree.XmlDocument;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.xml.sax.SAXException;
public class schemeXml
{
static Connection conn=null;
static String sql;
public static void main(String[] args)
{
try
{ //链接数据库,取得数据
//Class.forName("oracle.jdbc.driver.OracleDriver");//oracle数据库
Class.forName("com.mysql.jdbc.Driver");//mysql数据库
conn=DriverManager.getConnection("jdbc:mysql://192.168.1.109/cpsad?user=root&password=admin&useUnicode=true&characterEncoding=UTF-8");
Statement
st=conn.createStatement();
ResultSet
rs=st.executeQuery("select * from user");
DocumentBuilderFactory
factory=DocumentBuilderFactory.newInstance();
DocumentBuilder
builder=factory.newDocumentBuilder();
Document
doc=builder.newDocument();
Element
comp=doc.createElement_x_x("COMP");
while(rs.next())
{
Element
person=doc.createElement_x_x("PERSON");
Element
deptno=doc.createElement_x_x("DEPTNO");
deptno.a(doc.createTextNode(String.valueOf(rs.getInt(1))));
person.a(deptno);
Element
dname=doc.createElement_x_x("DNAME");
dname.a(doc.createTextNode(new
schemeXml().xmlReplace(rs.getString(2))));
person.a(dname);
Element
loc=doc.createElement_x_x("LOC");
loc.a(doc.createTextNode(new
schemeXml().xmlReplace(rs.getString(3))));
person.a(loc);
comp.a(person);
}
rs.close();
st.close();
conn.close();
doc.a(comp);
((XmlDocument)doc).write(new
FileOutputStream("src/dept.xml"));
System.out.println("操作成功!!!");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}catch(SQLException e1)
{
e1.printStackTrace();
}catch(ParserConfigurationException e2)
{
e2.printStackTrace();
}catch(FileNotFoundException e3)
{
e3.printStackTrace();
}catch(IOException e4)
{
e4.printStackTrace();
}
}
public String xmlReplace(String value){
System.out.println("value---old"+value);
//value=value.replace("&",
"&");
//
value=value.replace("<",
"<");
//
value=value.replace(">",
">");
// value=value.replace("'",
"'");
value=value.replace(
"<","<");
value=value.replace(
">",">");
value=value.replace(
"'","'");
// value.replace("""", """);
System.out.println("value---new"+value);
return
value;
}
}
相关文章推荐
- java.lang.OutOfMemoryError处理错误
- Eclipse 插件开发
- java 邮件开发(转)
- 使用 Eclipse 开发 J2EE 应用(转)
- Java调用WMIC命令的方法阻塞
- Java调用WMIC命令的方法阻塞(转)
- java 窗体,未测试
- java 文件压缩
- java 实现指定文件的复制和 拷贝
- java 文件夹创建(创)--测试成功
- java file中 mkdir()与 mkdirs()方…
- java中判断字符串是否为数字的三种方法
- JAVA操作properties文件
- 【xy】JAVA基础--IO
- JAVA基础--JAVA中的反射机制详解
- nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}
- Spring
- Spring 3.1 entityManagerFactory java.lang.NoSuchFieldError: NULL Error
- java 保存文件对话框的使用以及文件过滤器(FileDialog、JFileChooser)
- Java生成EXE