package com.qingbyqing.xmlParse;
import java.io.IOException;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
/**
* 解析xml
* @author qingbyqing
* @date 2011-3-29
*/
public class XmlPasreUtil {
Element root=null;
Document doc=null;
/**
* 获得根元素
* @param fileName 用于指定的xml文件名
* @return
*/
public Element getRoot(String fileName){
//1.创建解析对象
//2.解析对象调用build方法建立文档对象
//3.文档对象获得根元素
SAXBuilder builder = new SAXBuilder(false);
try {
doc = builder.build(fileName);
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Element root = doc.getRootElement();
return root;
}
/**
* 获取xml的所有信息
* @param root 传入一个根元素对象
*/
public void getElementInfo(Element root){
//遍历跟元素
List<?> flist = root.getChildren("floor");
for(int i=0;i<flist.size();i++){
Element floor =(Element) flist.get(i);
String level = floor.getAttributeValue("level");
p("第"+level+"层");
List<?> rlist = floor.getChildren("room");
for(int j=0;j<rlist.size();j++){
Element room = (Element)rlist.get(j);
String id=room.getAttributeValue("id");
String rep=room.getChild("represent").getText();
String tel=room.getChild("telephone").getText();
p("寝室编号:"+id+" 负责人:"+rep+" 寝室号码:"+tel);
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
XmlPasreUtil pasre = new XmlPasreUtil();
Element root=pasre.getRoot("I:\\xml\\flats.xml");
pasre.getElementInfo(root);
}
public void p(String str){
System.out.println(str);
}
}
|