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

📄 genxml.java

📁 用JAVA编写的TsinghuaIP功能的源代码
💻 JAVA
字号:
package tsinghuaip;

import java.util.*;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.PreparedStatement;
import org.w3c.dom.Document;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.xml.transform.dom.*;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Text;

public class GenXML {
    private String strXmlFileName; //IP地址XML文件名
    private Connection conn = null;
    private ResultSet rs = null;
    private Statement stmt = null;
    private ResultSetMetaData resultmetadata = null;
    private PreparedStatement statement = null;
    private ResultSet resultset = null;

    private DocumentBuilderFactory docBuilderFactory;
    private DocumentBuilder docBuilder;
    private Document doc;
    private Element root;

    public GenXML() {
        strXmlFileName = new String();

        try {
            docBuilderFactory = DocumentBuilderFactory.newInstance();
            docBuilder = docBuilderFactory.newDocumentBuilder();
            doc = docBuilder.newDocument();
            doc.normalize();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    //设置XML文件名
    public void SetXmlFileName(String strFileName) {
        strXmlFileName = strFileName;
    }

    public void SaveIPFromDB() throws Exception {
        String strColName = new String();
        String strColVal = new String();

        //进行数据库得连接
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        String url = "jdbc:microsoft:sqlserver://localhost:1433;" +
            "DatabaseName=CampusIP";
        conn = DriverManager.getConnection(url, "sa", "");
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
                                    ResultSet.CONCUR_UPDATABLE);

        statement = conn.prepareStatement("select * from IPInfo");
        resultset = statement.executeQuery();
        resultmetadata = resultset.getMetaData();
        int intCols = resultmetadata.getColumnCount();

        root = doc.createElement("IPADDRESS");
        while (resultset.next()) {
            Element nodeIPPhase = doc.createElement("IPPHASE");

            for (int i = 1; i <= intCols; i++) {
                strColName = resultmetadata.getColumnName(i);
                strColVal = resultset.getString(i);

                Element nodeElement = doc.createElement(strColName);
                Text data = doc.createTextNode(strColVal);
                nodeElement.appendChild(data);
                nodeIPPhase.appendChild(nodeElement);

                System.out.println(strColVal);
            }
            root.appendChild(nodeIPPhase);
        }

        doc.appendChild(root);

        Source source = new DOMSource(doc);
        File file = new File(strXmlFileName);
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(
            strXmlFileName));
        StreamResult result = new StreamResult(bufferedWriter);
        Transformer xformer = TransformerFactory.newInstance().newTransformer();

        xformer.transform(source, result);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -