java读取mysql 写入xml_Java从数据库中读取数据到xml文件

操作xml需要的jar包:crimson.jar

package myXmlep1;

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 test

{

static Connection conn=null;

static String sql;

//static String url="jdbc:oracle:oci8:@hydb";

static String url="jdbc:mysql://localhost:3306/test";

public static void main(String[] args)

{

try

{ //链接数据库,取得数据

//Class.forName("oracle.jdbc.driver.OracleDriver");//oracle数据库

Class.forName("com.mysql.jdbc.Driver");//mysql数据库

conn=DriverManager.getConnection(url,"root","");

Statement

st=conn.createStatement();

ResultSet

rs=st.executeQuery("select * from users");

DocumentBuilderFactory

factory=DocumentBuilderFactory.newInstance();

DocumentBuilder

builder=factory.newDocumentBuilder();

Document

doc=builder.newDocument();

Element

comp=doc.createElement_x("COMP");

while(rs.next())

{

Element

person=doc.createElement_x("PERSON");

Element

deptno=doc.createElement_x("DEPTNO");

deptno.appendChild(doc.createTextNode(String.valueOf(rs.getInt(1))));

person.appendChild(deptno);

Element

dname=doc.createElement_x("DNAME");

dname.appendChild(doc.createTextNode(new

test().xmlReplace(rs.getString(2))));

person.appendChild(dname);

Element

loc=doc.createElement_x("LOC");

loc.appendChild(doc.createTextNode(new

test().xmlReplace(rs.getString(3))));

person.appendChild(loc);

comp.appendChild(person);

}

rs.close();

st.close();

conn.close();

doc.appendChild(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;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值