怎么取出数据库中表的数据生成XML文件

怎么取出数据库中表的数据生成XML文件,第1张

1、用sqlyong 工具可以很方便的导出部分列的数据,cvs、html、xml、execl xml、sql等格式。

2、如果一定用命令的话,用下面的 *** 作吧:

mysqldump -u用户名 -p密码 数据库名 表名 >路径\xxx.sql

说明:上面这个命令只能导出一个表的全部数据不能导出部分数据,为了导出部分数据,先把users表的user和password列导出到临时表,再讲临时表导出,需要的时候再倒入从临时表中拿出数据。

1)create table tmp as select user,name from users

2)mysqldump -u用户名 -p密码 数据库名 tmp >路径\xxx.sql

※注意create命令要在mysql中执行,mysqldump在cmd中执行就可以。

***************

补充:只导入部分数据

mysqldump -u用户名 -p密码 数据库名 表名 "--w='where 条件'"<路径\xxx.sql

如:

mysqldump -u用户名 -p密码 test t1 "--w='where name='张三'"<路径\xxx.sql

就是只导入 name='张三'的数据。

&&&&&&&&&&

再补充:

mysqldump -u用户名 -p密码 test t1 "--w='where uid between 1 and 100"<路径\xxx.sql

说明:【"--w='where uid between 1 and 100"】就是你要写的where条件,你想怎么写,写进去就可以了。

---

以上,希望对你有所帮助。

这个可以使用asp转义字符代码chr(34),也可以使用单引号,比如:

myfile.writeline("<key

caption="&chr(34)&a_name&chr(34)&">")

myfile.writeline("<key

caption='"&a_name&"'>")

应该都可以吧。

//1。建立jdbc-odbc连接//2。在定义变量中,写入XML文件路径(在eclipse的编写)//3。建立数据库(以下DB为Users ),建表(以下表为users)//4。代码如下

import java.io.File

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import javax.xml.parsers.DocumentBuilder

import javax.xml.parsers.DocumentBuilderFactory

import javax.xml.transform.Transformer

import javax.xml.transform.TransformerFactory

import javax.xml.transform.dom.DOMSource

import javax.xml.transform.stream.StreamResult

import org.w3c.dom.Document

import org.w3c.dom.Element

import org.w3c.dom.NamedNodeMap

import org.w3c.dom.Node

import org.w3c.dom.NodeList

import org.w3c.dom.Text

public class append {

public static void main(String[] args) {

try{

DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance()

DocumentBuilder builder=factory.newDocumentBuilder()

Document doc=builder.parse(args[0])//记得定义你的XML路径

doc.normalize()

Element root = doc.getDocumentElement()

accessDB(doc,root)

if(doc != null)

printNode(root)

//////////////////////////

TransformerFactory tf=TransformerFactory.newInstance()

Transformer transformer=tf.newTransformer()

DOMSource source=new DOMSource(doc)

StreamResult result= new StreamResult(new File(args[0]))

transformer.transform(source,result)

}catch(Exception e){

e.printStackTrace()

}

}

public static void createXML(Document doc,Element root,ResultSet rs){

try{

boolean flag=rs.next()

while(flag){

Element Users=doc.createElement("Users")

Element userid=doc.createElement("userid")

Text userid_text=doc.createTextNode(""+rs.getInt("userid"))

userid.appendChild(userid_text)

Element username =doc.createElement("username")

Text username_text=doc.createTextNode(rs.getString("username"))

username.appendChild(username_text)

Element password =doc.createElement("password")

Text password_text=doc.createTextNode(rs.getString("password"))

password.appendChild(password_text)

Users.appendChild(userid)

Users.appendChild(username)

Users.appendChild(password)

root.appendChild(Users)

flag=rs.next()

}

}

catch(SQLException e){

e.printStackTrace()

}

}

public static void accessDB(Document doc , Element root){

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

Connection conn= DriverManager.getConnection("jdbc:odbc:yourBDconName"/*URL*/

)

Statement stmt=conn.createStatement()

ResultSet rs=stmt.executeQuery("select * from users")

createXML(doc,root,rs)

rs.close()

stmt.close()

conn.close()

}catch(Exception e){

e.printStackTrace()

}

}

public static void printNode(Element element){

NodeList children=element.getChildNodes()

NamedNodeMap attr=element.getAttributes()

int r=children.getLength()

if(attr!=null){

System.out.print("<"+element.getNodeName())

for(int j=0j<attr.getLength()j++)

{

System.out.print(" "+attr.item(j).getNodeName())

}

System.out.print(">"+"\n")

}

else if(attr==null){

System.out.print("<"+element.getNodeName()+">")

}

if(element.hasChildNodes()){

for(int k=0k<rk++)

{

if(children.item(k).getNodeType()==Node.ELEMENT_NODE)

printNode((Element)children.item(k))

else if(children.item(k).getNodeType()==Node.TEXT_NODE)

System.out.println(children.item(k).getNodeValue())

}

}

System.out.print("</"+element.getNodeName()+">"+"\n")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6768092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存