代码目录

dept表内容

dept表详细信息

WriteXml.java(使用DOM方式,无需导入xml的相关jar包)
package witersen;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
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;
public class WriteXml {
public static final String dbDriver = "com.mysql.cj.jdbc.Driver";
public static final String dbUrl = "jdbc:mysql://localhost:3306/xml?useSSL=false&serverTimezone=UTC";
public static final String dbUser = "root";
public static final String dbPass = "";
public static void main(String[] args) throws Exception {
/*数据库操作*/
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
Class.forName(dbDriver);
conn = DriverManager.getConnection(dbUrl, dbUser, dbPass);
String sql = "select * from xml.dept";
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
/*xml解析操作*/
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.newDocument();
Element nodes = doc.createElement("nodes");
doc.appendChild(nodes);
while (rs.next()) {
// 建立各个操作节点
Element node = doc.createElement("node");
Element deptno = doc.createElement("deptno");
Element dname = doc.createElement("dname");
Element loc = doc.createElement("loc");
// 设置节点内容
deptno.appendChild(doc.createTextNode(rs.getInt(1) + ""));//通过与字符串相加来转换数字为字符串格式
dname.appendChild(doc.createTextNode(rs.getString(2)));
loc.appendChild(doc.createTextNode(rs.getString(3)));
// 设置节点关系
node.appendChild(deptno);
node.appendChild(dname);
node.appendChild(loc);
nodes.appendChild(node);
}
// 输出文档到文件
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(OutputKeys.ENCODING, "GBK");
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("output.xml"));
t.transform(source, result);
}
}
原创文章,作者:witersen,如若转载,请注明出处:https://www.witersen.com
评论列表(1条)
写的很好 佩服!