使用jdom读取xml文件
maven 依赖:
<dependency>
<groupId>jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>
package com.zona.dom;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/**
*
* @desc: JDOM 生成与解析XML文档
* @author: zona
* @time: 2016年12月5日 下午6:53:49
*/
public class ReadDom {
public void parserXml(String fileName, String elementName, String idName) throws Throwable {
SAXBuilder builder = new SAXBuilder(false);
Document document = builder.build(fileName);
// 获取根元素
Element root = document.getRootElement();
// 获取根元素指定名字的子节点, 可以将其请转为Element对象操作属性, 值等。
List<Element> list = root.getChildren(elementName);
String username = null;
String password = null;
String driveName = null;
String url = null;
for (Element element : list) {
String idValue = element.getAttributeValue("id");
if (!idName.equals(idValue)) {
continue;
}
List<Element> secChildren = element.getChildren();
for (Element second : secChildren) {
// 获取name属性的值
String current = second.getAttributeValue("name");
if ("driver-name".equals(current)) {
// 获取该元素trim后的值
driveName = second.getTextTrim();
} else if ("password".equals(current)) {
password = second.getTextTrim();
} else if ("user".equals(current)) {
username = second.getTextTrim();
} else if ("url".equals(current)) {
url = second.getTextTrim();
}
}
}
System.out.println(url + "; " + username + "; " + password + "; " + driveName);
}
public static void main(String[] args) throws Throwable {
ReadDom demo = new ReadDom();
demo.parserXml("dom.xml", "datasource", "oracle");
}
}