JAVA操纵XML 实例讲解

原创 2012年03月27日 09:36:18

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编程实例解析.txt

  • 2013年04月07日 18:51
  • 6KB
  • 下载

Java_XML入门及处理实例

  • 2012年10月20日 13:56
  • 234KB
  • 下载

java dom4j解析xml实例

XMLJava     java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两...

Java读写XML实例

Java读取XML一般是两种方式,DOM解析和SAX解析。 DOM解析:一次性把xml文档加载成Document树,通过Document对象得到节点对象,通过节点对象访问xml文档内容(标签,属性,文...

java学习之路——利用SAX解析XML实例

SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,虽然如此,使用SAX的还是不少,几乎所有的XML解析器都会支持它。 与DOM比较而言,SAX是一种轻量型的方法...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA操纵XML 实例讲解
举报原因:
原因补充:

(最多只允许输入30个字)