JAVA操纵XML 实例讲解
来源:互联网 发布:淘宝 图片裁剪 不清楚 编辑:程序博客网 时间:2024/06/06 03:00
JDBC开发中需要连接到不同的数据库,利用XML文件保存不同类型数据库的连接参数,并使用统一的程序解析XML以取得相应的连接参数。
<<Db.xml>><?xml version="1.0" encoding="UTF-8"?><DBS><DB><type>Oracle</type><driver>oracle.jdbc.driver.OracleDriver</driver><url>jdbc:oracle:thin:@localhost:1521:goudan</url><user>pubuser1</user><password>11111111</password></DB><DB><type>mysql</type><driver>org.git.mm.mysql.Driver</driver><url>jdbc:mysql://localhost:3306/BookDB</url><user>pubuser2</user><password>11111111</password></DB><DB><type>sqlserver</type><driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver><url>jdbc:Microsoft:sqlserver://127.0.0.1:1433</url><user>pubuser3</user><password>11111111</password></DB></DBS><<DBTest.java>>package test.xml;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.Node;import org.w3c.dom.NodeList;import org.xml.sax.SAXException;public class DBTest {public DBTest(String type) {// this.type = type ;DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();try {DocumentBuilder db = dbf.newDocumentBuilder();// 创建解析器Document doc = db.parse("Db.xml");// 解析地址NodeList n1 = doc.getElementsByTagName("DB");// 得到含有DB标签的一个列表for (int i = 0; i < n1.getLength(); i++) {Element myNode = (Element) n1.item(i);// 通过item方法获得每个对象if (myNode.getElementsByTagName("type").item(0).getFirstChild().getNodeValue().equals(type)) {String driver = myNode.getElementsByTagName("driver").item(0).getFirstChild().getNodeValue();String url = myNode.getElementsByTagName("url").item(0).getFirstChild().getNodeValue();String user = myNode.getElementsByTagName("user").item(0).getFirstChild().getNodeValue();String password = myNode.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();System.out.println(driver + " " + url + " " + user + " "+ password);break;}}} catch (ParserConfigurationException e) {e.printStackTrace();} catch (SAXException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public static void main(String[] rag) {DBTest dbt1 = new DBTest("Oracle");DBTest dbt2 = new DBTest("mysql");DBTest dbt3 = new DBTest("sqlserver");}}
- JAVA操纵XML 实例讲解
- JAVA操纵XML
- Java 如何操纵 XML
- Python实例讲解 -- 解析xml
- Java RMI实例讲解
- JAVA适配器实例讲解
- java反射讲解实例
- EJB3.0 Ant Build.xml实例讲解
- EJB3.0 Ant Build.xml实例讲解
- EJB3.0 Ant Build.xml实例讲解
- XML解析代码课堂讲解实例
- ajax 返回xml的实例讲解
- Java用户界面本地化实例讲解
- Java 线程实例讲解综述
- 实例讲解java的反射
- 实例讲解:JAVA SOAP技术
- Java 线程实例讲解综述
- Java 线程实例讲解综述
- EJB学习总结
- Emit创建常见元素—自定义类型
- POJ 1873 The Fortified Forest 凸包+枚举
- 关于字符串缓冲池的讨论
- 简易C/C++日志
- JAVA操纵XML 实例讲解
- Ubuntu 下nfs服务器的配置及mini2440的挂载
- IOS开发之UIFont应用
- 图解框架-跨平台应用开发方案
- java 字符串 String 的缓冲池
- 通过JAVA写数据到XML里面
- テニスの王子樣
- windows下安装opengl的glut库
- 数字图像噪声的分类