GenXML.java~148~
上传用户:liming9091
上传日期:2014-10-27
资源大小:3376k
文件大小:3k
源码类别:

Java编程

开发平台:

Java

  1. package tsinghuaip;
  2. import java.util.*;
  3. import java.io.*;
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.SQLException;
  7. import java.sql.Statement;
  8. import java.sql.ResultSet;
  9. import java.sql.ResultSetMetaData;
  10. import java.sql.PreparedStatement;
  11. import org.w3c.dom.Document;
  12. import javax.xml.parsers.DocumentBuilder;
  13. import javax.xml.parsers.DocumentBuilderFactory;
  14. import org.w3c.dom.Element;
  15. import org.w3c.dom.Node;
  16. import org.w3c.dom.NodeList;
  17. import javax.xml.transform.dom.*;
  18. import javax.xml.transform.*;
  19. import javax.xml.transform.stream.StreamResult;
  20. import org.w3c.dom.Text;
  21. import org.xml.sax;
  22. public class GenXML {
  23.     private String strXmlFileName; //IP地址XML文件名
  24.     private Connection conn = null;
  25.     private ResultSet rs = null;
  26.     private Statement stmt = null;
  27.     private ResultSetMetaData resultmetadata = null;
  28.     private PreparedStatement statement = null;
  29.     private ResultSet resultset = null;
  30.     private DocumentBuilderFactory docBuilderFactory;
  31.     private DocumentBuilder docBuilder;
  32.     private Document doc;
  33.     private Element root;
  34.     public GenXML() {
  35.         strXmlFileName = new String();
  36.         try {
  37.             docBuilderFactory = DocumentBuilderFactory.newInstance();
  38.             docBuilder = docBuilderFactory.newDocumentBuilder();
  39.             doc = docBuilder.newDocument();
  40.             doc.normalize();
  41.         }
  42.         catch (Exception e) {
  43.             e.printStackTrace();
  44.         }
  45.     }
  46.     //设置XML文件名
  47.     public void SetXmlFileName(String strFileName) {
  48.         strXmlFileName = strFileName;
  49.     }
  50.     public void SaveIPFromDB() throws Exception {
  51.         String strColName = new String();
  52.         String strColVal = new String();
  53.         //进行数据库得连接
  54.         Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
  55.         String url = "jdbc:microsoft:sqlserver://localhost:1433;" +
  56.             "DatabaseName=CampusIP";
  57.         conn = DriverManager.getConnection(url, "sa", "");
  58.         stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
  59.                                     ResultSet.CONCUR_UPDATABLE);
  60.         statement = conn.prepareStatement("select * from IPInfo");
  61.         resultset = statement.executeQuery();
  62.         resultmetadata = resultset.getMetaData();
  63.         int intCols = resultmetadata.getColumnCount();
  64.         root = doc.createElement("IPADDRESS");
  65.          while (resultset.next()) {
  66.             Element nodeIPPhase = doc.createElement("IPPHASE");
  67.             for (int i = 1; i <= intCols; i++) {
  68.                 strColName = resultmetadata.getColumnName(i);
  69.                 strColVal = resultset.getString(i);
  70.                 Element nodeElement = doc.createElement(strColName);
  71.                 Text data = doc.createTextNode(strColVal);
  72.                 nodeElement.appendChild(data);
  73.                 nodeIPPhase.appendChild(nodeElement);
  74.                 System.out.println(strColVal);
  75.             }
  76.             root.appendChild(nodeIPPhase);
  77.         }
  78.         doc.appendChild(root);
  79.         InputSource source = new DOMSource(doc);
  80.         source.
  81.         File file = new File(strXmlFileName);
  82.         BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(strXmlFileName));
  83.         StreamResult result = new StreamResult(bufferedWriter);
  84.         Transformer xformer = TransformerFactory.newInstance().newTransformer();
  85.         xformer.transform(source, result);
  86.     }
  87. }