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

Java 如何操纵 XMLXML 简介XML 是一种可扩展标记语言,最主要的用处就是用来做为程序的配置文件了。当然,它还可以作为数据源来存储数据,作为传输数据的媒体等。它的语法非常严格,一个空格都不能...
  • keqiwww
  • keqiwww
  • 2017年08月05日 18:44
  • 81

java--通过sax方式解析xml文件的简单实例

1.重写的继承自DefaultHandler的方法,部分代码如下: @Override public void startElement(String uri, String localName,...
  • a1491758730
  • a1491758730
  • 2015年10月18日 09:36
  • 763

Java高级特性之解析XML

XML与Java的渊源: 我们来看XML是网络传输的一种数据规范,或者也叫可扩展的标记语言。可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(docu...
  • liaodehong
  • liaodehong
  • 2016年06月14日 20:12
  • 3033

使用Dom4j解析XML案例

.sida.xml描述四大名著的操作,文件内容如下 [html] view plain copy xml version="1.0" encoding="UTF-8"?>   ...
  • hebo5207_
  • hebo5207_
  • 2017年02月19日 14:22
  • 365

JAVA操作图片笔记

将两张图片合并: InputStream imagein = new FileInputStream(bgPicName); InputStream imagein2 = new FileI...
  • wujingtianze
  • wujingtianze
  • 2013年08月13日 09:27
  • 3061

dom4j解析xml字符串实例

解析字符串实例: //先加入dom4j.jar包 import java.util.HashMap; import java.util.Iterator; import java.util....
  • qiulongtianshi
  • qiulongtianshi
  • 2013年07月15日 21:45
  • 4746

实例化Bean的方法(基于xml配置)

Spring IoC容器 根据基于xml的配置元数据(configuration metadata),使用反射机制来创建Bean的实例。 创建的方法有三种: 1. 通过构造器 1.1 使用空构造器进...
  • shymi1991
  • shymi1991
  • 2015年09月01日 13:43
  • 1352

java通过post方式发送接收xml信息

1.设置响应格式: response.setContentType("text/xml"); if(request.getMethod()==null || !request.getMeth...
  • bluetjs
  • bluetjs
  • 2014年07月04日 16:56
  • 19923

C++基础知识(三)C++的输入和输出及操纵符

虽然在第一篇博客中已经总结了C++的基本的输入对象cin,但是感觉到有很多的东西还是没有总结到位,在此再补上一篇。我们都知道,C++对输入和输出采用的是文件流,这个和java是类似的。我们可以想象一下...
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2013年10月22日 20:48
  • 1416

Java DOM解析XML的几个例子

Sample1: 1:新建XML文档 books.xml,放到项目的根目录下。 xml version="1.0" encoding="GB2312"?>    books  count="3" ...
  • John_Chang11
  • John_Chang11
  • 2017年02月14日 13:34
  • 1116
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA操纵XML 实例讲解
举报原因:
原因补充:

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