⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmltodb.jsp

📁 J2EE独立开发制作
💻 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 + -