📄 xmltodb.jsp
字号:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="java.sql.*,javax.xml.parsers.*,org.w3c.dom.*,java.io.*" %>
<%@ page import="javax.xml.transform.*,javax.xml.transform.dom.DOMSource,javax.xml.transform.stream.StreamResult" %>
<HTML>
<HEAD>
<TITLE>用DOM实现XML到数据库的转换</TITLE>
</HEAD>
<BODY>
<%
try{
Class.forName("org.gjt.mm.mysql.Driver");
String dbURL =
"jdbc:mysql://localhost/company?useUnicode=true&characterEncoding=GB2312";
String username = "root";
String password = "sun";
Connection con = DriverManager.getConnection(dbURL, username, password);
Statement stmt = con.createStatement();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("./webapps/xmltodb/employee.xml");
NodeList nl =doc.getElementsByTagName("PERSON");
for (int i=0;i<nl.getLength();i++)
{
Element node=(Element) nl.item(i);
String nm = node.getElementsByTagName("NAME").item(0).getFirstChild().getNodeValue();
String add = node.getElementsByTagName("ADDRESS").item(0).getFirstChild().getNodeValue();
String email = node.getElementsByTagName("EMAIL").item(0).getFirstChild().getNodeValue();
String sql = "insert into employee(name,address,email)values(\'"+nm+"\', \'"+add+"\', \'"+email+"\')";
int ret = stmt.executeUpdate(sql);
}
ResultSet rs=stmt.executeQuery("select * from employee");
ResultSetMetaData rsmd=rs.getMetaData();
int colCount=rsmd.getColumnCount();
out.println("<table border=1 cellpaddin=1 cellspacing=1><tr>");
for(int col=1;col<=colCount;col++)
out.println("<td>"+rsmd.getColumnName(col)+"</td>");
out.println("</tr>");
while(rs.next())
{
out.println("<tr>");
for(int j=1;j<=colCount;j++)
{
out.println("<td>"+rs.getString(j)+"</td>");
}
out.println("</tr>");
}
out.println("</table>");
stmt.close();
con.close();
}catch(Exception e){
e.printStackTrace();
}
%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -