java读取XML文件里面的数据之DOM实现
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.*;
public class ReadXML {
private File file;
public ReadXML(String filename){
File file=new File(filename);
this.file=file;
}
/**
*
* @return the instance of Document
*/
public Document getDOM(){
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
DocumentBuilder db;
Document document=null;
try{
db=dbf.newDocumentBuilder();
document=db.parse(file);
}catch(Exception e ){
e.printStackTrace();
}
return document;
}
/**
*
* @param tagName
* @return
*/
public String getInfoByTagName(String tagName)
{
String info="";
Document document=this.getDOM();
//获取NodeName 为tagName的节点组
NodeList nl=document.getElementsByTagName(tagName);
for(int i=0;i<nl.getLength();i++)
{
info+=tagName+"[+"+i+"+]"+"\n";
Node node=nl.item(i);
//如果当前节点有子节点(这里 只考虑还有一级子节点的情况)
if(node.hasChildNodes())
{
NodeList list=node.getChildNodes();
for(int j=0;j<list.getLength();j++)
{
Node childNode=list.item(j);
/* 不加这个If语句会抛出
* Exception in thread "main" java.lang.NullPointerException
* at ReadXML.getInfoByTagName(ReadXML.java:59)
* at Test.main(Test.java:17)
*/
if(childNode.getFirstChild()!=null)
/* 对getNodeValue()的过程彻底无语
* 调试这个地方的时候,在网上很容易找到了
* 在得到Value的时候必须在节点对象后面先调用getFirstChild()或者getChildNodes().item(0)
* 原因很简单,但是不知道设计者问什么要这么设计
* 最近在看《Be
相关文档:
2009-04-14 15:37
虽然现在用APACHE COMMONS DBCP可以非常方便的建立数据库连接池,
但是像这篇文章把数据库连接池的内部原理写的这么透彻,注视这么完整,
真是非常难得,让开发人员可以更深层次的理解数据库连接池,真是非常感
谢这篇文章的作者。
import java.sql.Connection;
import java.sql.DatabaseMetaData;
......
我在玩一个网页游戏的时候总是按一个键。觉着累。所以就写了一个程序。
Robot r = new Robot();
// 按键
r.keyPress(51);
// 释放
r.keyRelease(51);
用Robot 这个实现自动化的类就可做到。实现这个游戏一直按下这个键子。
也可以做按键精灵类似的软件。但是这个类只能应用当前窗口。怎么能把这个程序固定在某 ......
The Mean Opinion
Score (MOS) test is a well acccepted standard which is defined in the ITU-T
Rec.P.800.
The value of MOS
test is generated by letting large number of listeners to evaluate the quality
of the test sentences.
The test scores
are averaged to a mean score which range fro ......
java泛型中的super关键字不太常用,也不太好理解,今天又从头看了看java的泛型机制,作一记录。
上界:
上界用extends关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的子类。如下面的代码:
Java代码
public void upperBound(List<? extends Date> list, Date& ......
JAVA常用类的使用方法
1、Integer类
2、Float类
3、Double类
4、Character类
5、String类
6、StringTokenizer类
7、StringBuffer类
8、Random类
1.Integer类的使用方法
Interger:整数类型
1、属性。
static int MAX_VALUE:返回最大的整型数;
static int MIN_VALUE:返回最小的整型数;
static C ......