利用 Jaxp (Sax) 解析xml文件--- 解析指定节点的值
来源:互联网 发布:沉迷galgame知乎 编辑:程序博客网 时间:2024/05/18 00:36
package tao.test;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class SqlServer {
private String username;
private String password;
private String url;
private String driver;
/**
* 存储结果
*/
Map map = new HashMap();
/**
* @throws IOException
* @throws SAXException
* @throws ParserConfigurationException
*/
public SqlServer() throws SAXException, IOException, ParserConfigurationException {
String userDir = System.getProperty("user.dir");
String eosConfig = new File(userDir).getParent()
+ "/eosserver/config/eosconfig.xml";
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
// MyHander 是一个内部类
sp.parse(new File(eosConfig), new MyHandler());
this.username = map.get("username").toString().trim();
this.password = map.get("password").toString().trim();
this.url = map.get("jdbcurl").toString().trim();
this.driver = map.get("jdbcdriver").toString().trim();
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getDriver() {
return driver;
}
public void setDriver(String driver) {
this.driver = driver;
}
/**
*
*/
class MyHandler extends DefaultHandler {
List keys = new ArrayList() {
{
add("username");
add("password");
add("jdbcurl");
add("jdbcdriver");
}
};
String key = null;
private int index = 0;
private int flag = index;
public void characters(char ch[], int start, int length)
throws SAXException {
String value = new String(ch, start, length);
if (flag == index - 1) {
map.put(key, value);
flag = index;
}
}
public void startElement(String uri, String localName, String qName,
Attributes attr) throws SAXException {
if ("configValue".equals(qName)) {
if (keys.contains(attr.getValue("key"))) {
key = attr.getValue("key");
index++;
}
}
}
}
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
new SqlServer();
}
}
- 利用 Jaxp (Sax) 解析xml文件--- 解析指定节点的值
- jaxp利用Sax解析XML
- 利用JAXP的SAX方式对xml进行解析
- 【JAXP】SAX方式解析XML文件
- jaxp通过sax方式解析xml文件
- 【XML】JAXP-SAX解析xml
- XML的Jaxp中的SAX解析
- jaxp的sax方式解析xml
- JAXP的SAX解析
- JAXP 的 SAX 解析
- jaxp sax解析xml代码
- xml解析-jaxp-sax方式
- 利用SAX解析xml文件
- XML的jaxp版DOM解析 和SAX解析
- xml解析技术-jaxp-sax解析
- 利用sax解析器解析xml文件
- XML解析器SAX,DOM,JDOM,JAXP的优缺点
- JAXP SAX模式解析xml文档
- 资源文件用法:res
- 佷``兂萘!
- JAVA开发者最常去的20个英文网站
- 使用VirtualBox安装Ubuntu9.10,搭建java开发环境总结
- ASUS 論壇,有官方槍手,想要刪除抗議 Windows 7 的帖子,並合理化,並罵消費者白目
- 利用 Jaxp (Sax) 解析xml文件--- 解析指定节点的值
- VC项目文件说明
- 努力
- 使用 Oracle XML Publisher 构建在线报表应用程序(转贴)
- MAVEN2常用命令
- 无向图的最小割算法
- mysql 中图片的存取
- SQL Server 2005新特性之使用with关键字解决递归父子关系
- 流行的Eclipse IDE的开源项目——商业智能和报表工具(BIRT)简介