
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")
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)