//声明:本文的代码纯为了学习,如有复制粘贴之处,敬请谅解!

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);

}


}