📄 connxmlparser.java
字号:
package conn;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import com.microsoft.jdbc.sqlserver.*;
import com.microsoft.jdbcx.sqlserver.*;
import javax.sql.DataSource;
import java.sql.Connection;
import java.util.*;
public class ConnXMLParser
{
public DataSource readXML(String filename,DataSource dataSource)
{
try
{
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
dbf.setIgnoringElementContentWhitespace(true);
DocumentBuilder db=dbf.newDocumentBuilder();
Document doc=db.parse(filename);
readDOM(doc,dataSource);
}
catch(Exception e)
{
e.printStackTrace();
}
return dataSource;
}
private void readDOM(Document doc,DataSource dataSource) throws Exception
{
Element root = doc.getDocumentElement();
NodeList connections = root.getElementsByTagName(DBConstants.ROOT);
for (int i = 0; i < connections.getLength(); i++)
{
Element connection = (Element) connections.item(i);
//server
NodeList server = connection.getElementsByTagName(DBConstants.SERVER);
if(server.getLength() != 0)
{
Element e = (Element) server.item(0);
Text t = (Text) e.getFirstChild();
((SQLServerDataSource)dataSource).setServerName(t.getNodeValue());
}
//port
NodeList port = connection.getElementsByTagName(DBConstants.PORT);
if(server.getLength() != 0)
{
Element e = (Element) port.item(0);
Text t = (Text) e.getFirstChild();
((SQLServerDataSource)dataSource).setPortNumber(Integer.parseInt(t.getNodeValue()));
}
//databasename
NodeList databasename = connection.getElementsByTagName(DBConstants.DATABASENAME);
if(databasename.getLength() != 0)
{
Element e = (Element) databasename.item(0);
Text t = (Text) e.getFirstChild();
((SQLServerDataSource)dataSource).setDatabaseName(t.getNodeValue());
}
//username
NodeList username = connection.getElementsByTagName(DBConstants.USERNAME);
if(username.getLength() != 0)
{
Element e = (Element) username.item(0);
Text t = (Text) e.getFirstChild();
((SQLServerDataSource)dataSource).setUser(t.getNodeValue());
}
//password
NodeList password = connection.getElementsByTagName(DBConstants.PASSWORD);
if(password.getLength() != 0)
{
Element e = (Element) password.item(0);
Text t = (Text) e.getFirstChild();
((SQLServerDataSource)dataSource).setPassword(t.getNodeValue());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -