//声明:本文的代码纯为了学习,如有复制粘贴之处,敬请谅解!
package ou.gong.tools;
import java.io.File;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document ;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadXml {
public void parserXml(String filename) {
// TODO Auto-generated method stub
File inputXml = new File(filename) ;
SAXReader saxReader = new SAXReader() ;
try {
Document document = saxReader.read(inputXml) ;
//获取根元素
Element root = document.getRootElement() ;
System.out.println("Root: " + root.getName()) ;
//获取子元素
List<Element> childList = root.elements() ;
System.out.println(childList.size()) ;
//获取特定名称的子元素
List<Element> nameList = root.elements("xj") ;
System.out.println(nameList.size());
Element nameEle = root.element("xj") ;
for(Iterator iter = nameEle.elementIterator() ; iter.hasNext();) {
Element e = (Element)iter.next() ;
System.out.println(e.getName() + ":" + e.getText()) ;
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getElement(String filename,String rootName,String elementName) {
String result = "" ;
File inputXml = new File(filename) ;
SAXReader saxReader = new SAXReader() ;
try {
Document document = saxReader.read(inputXml) ;
//获取根元素
Element root = document.getRootElement() ;
//System.out.println("Root: " + root.getName()) ;
//获取子元素
List<Element> childList = root.elements() ;
//System.out.println(childList.size()) ;
////获取特定名称的子元素
//List<Element> nameList = root.elements("xj") ;
//System.out.println(nameList.size());
Element nameEle = root.element(rootName) ;
//获取目标元素
for(Iterator iter = nameEle.elementIterator() ; iter.hasNext();) {
Element e = (Element)iter.next() ;
//System.out.println(e.getName() + ":" + e.getText()) ;
if(e.getName().equals(elementName)) {
result = e.getText() ;
return result ;
}
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result ;
}
public static void main(String[] args) {
//String filename = "D:/Users/Go/workspace/Search/src/db.xml" ;
String filename = "../Search/src/db.xml" ;
ReadXml readXml = new ReadXml() ;
String username = readXml.getElement(filename,"xj","username") ;
System.out.println("username :" + username);
}
}
转载于:https://blog.51cto.com/wlgo2108/1881395