论坛首页 入门技术论坛

DOM读取XML 文件,连接数据库

浏览 2027 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-18   最后修改:2009-09-08
  <?xml version="1.0" encoding="UTF-8" ?>
- <data-config>
- <datasource>
- <!--  sql2000
  -->
  <driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
  <user>sa</user>
  <password>sa</password>
- <!--  sql2000
  -->
  <source>jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=pubs</source>
- <!--
sql2005
<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
<user>sa</user>
<password>sql2005</password>
<source>jdbc:sqlserver://localhost:1433;DataBaseName=pubs</source>


  -->
  </datasource>
  </data-config>


package com.ray.xmldao.dao;
import java.io.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import javax.xml.parsers.*;
/**
* 功能:DOM解析xml文件
* 时间:2009年6月14日
* @author Ray
* @version 1.0.0
* */
public class XmlDBReader {
public DBProperty getXML(){
long lasting = System.currentTimeMillis();
DBProperty dbproperty = new DBProperty();
try {
//得到DOM解析器的工厂实例
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//从DOM工厂获得DOM解析器
DocumentBuilder builder = factory.newDocumentBuilder();
//解析的xml文档转化为输入流,以便DOM解析器解析
File file = new File("/xml/database.xml");
//解析xml文档的输入流,得到一个Document
Document doc = builder.parse(file);
//得到xml文档的节点
NodeList nodelist = doc.getElementsByTagName("datasource");
for(int i=0;i<nodelist.getLength();i++){
// System.out.println("---------sql2000--------");
// System.out.println("driver:"+doc.getElementsByTagName("driver").item(i).getFirstChild

().getNodeValue());
// System.out.println("user:"+doc.getElementsByTagName("user").item(i).getFirstChild

().getNodeValue());
// System.out.println("password:"+doc.getElementsByTagName("password").item(i).getFirstChild

().getNodeValue());
// System.out.println("source:"+doc.getElementsByTagName("source").item(i).getFirstChild

().getNodeValue());
dbproperty.setDriver(doc.getElementsByTagName("driver").item(i).getFirstChild().getNodeValue

());
dbproperty.setUser(doc.getElementsByTagName("user").item(i).getFirstChild().getNodeValue());
dbproperty.setPassword(doc.getElementsByTagName("password").item(i).getFirstChild

().getNodeValue());
dbproperty.setSource(doc.getElementsByTagName("source").item(i).getFirstChild().getNodeValue

());
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("lasting="+lasting);
return dbproperty;
}

}
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics