xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<something-else-entirely>
<proxool>
<alias>DBPool</alias>
<driver-url>
jdbc:mysql://127.0.0.1:3306/cms?useUnicode=true&characterEncoding=UTF-8
</driver-url>
<driver-class>org.gjt.mm.mysql.Driver</driver-class>
<driver-properties>
<property name="user" value="root" />
<property name="password" value="111111" />
</driver-properties>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>5</prototype-count>
<maximum-connection-count>500</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
<house-keeping-test-sql>
select CURRENT_DATE
</house-keeping-test-sql>
</proxool>
</something-else-entirely>
说明:prefix为xml文件路径
String[] driverUrl= xmlFile.getNodeText(prefix, "something-else-entirely/proxool/driver-url");
String[] propertys= xmlFile.getNodeTextAttribute(prefix,
"/something-else-entirely/proxool/driver-properties/property/@value");
/**
*
* 取得XML文件中节点内容
*
* @param strNodeName
* 节点名称,包括其父节点
*
* @param document
*
* @return 返回操作结果, ""失败, 成功时返回节点内容
*
*/
public String[] getNode(String strNodeName, Document documents) {
String[] strValue = null;
int i = 0;
try {
if (documents == null) {
return null;
}
List list = documents.selectNodes(strNodeName);
strValue = new String[list.size()];
Iterator iter = list.iterator();
while (iter.hasNext()) {
Element ownerElement = (Element) iter.next();
strValue[i] = ownerElement.getText();
i++;
}
} catch (Exception ex) {
ex.printStackTrace();
}
return strValue;
}
/**
*
* 取得XML文件中节点内容
*
* @param filename
* 带路径的XML文件名称
*
* @param strNodeName
* 节点名称,包括其父节点
*
* @return 返回操作结果, null失败, 成功时返回节点内容
*
*/
public String[] getNodeText(String filename, String strNodeName) {
org.dom4j.Document documents = getXmlObject(filename);
String strNodeText[] = null;
strNodeText = getNode(strNodeName, documents);
return strNodeText;
}
/**
*
* 取得XML文件中节点的屬性
*
* @param filename
* 带路径的XML文件名称
*
* @param strNodeName
* 节点屬性
*
* @return 返回操作结果, null失败, 成功时返回节点内容
*
*/
public String[] getNodeTextAttribute(String filename, String strNodeName) {
org.dom4j.Document documents = getXmlObject(filename);
String strNodeText[] = null;
strNodeText = getNodeAttribute(strNodeName, documents);
return strNodeText;
}
/**
*
* 取得XML文件中节点屬性
*
* @param strNodeName
* 节点屬性
*
* @param document
*
* @return 返回操作结果, ""失败, 成功时返回节点内容
*
*/
public String[] getNodeAttribute(String strNodeName, Document documents) {
String[] strValue = null;
int i = 0;
try {
if (documents == null) {
return null;
}
List list = documents.selectNodes(strNodeName);
strValue = new String[list.size()];
Iterator iter = list.iterator();
while (iter.hasNext()) {
Attribute attribute = (Attribute)iter.next();
strValue[i] = attribute.getValue();
i++;
}
} catch (Exception ex) {
ex.printStackTrace();
}
return strValue;
}