dom4j saxReader解析xml

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class XmlUtil {

private static Logger logger = Logger.getLogger(XmlUtil.class);

/**
* 使用sax解析本地xml文件
* @param fileName 文件名
* @return 是否解析成功
*/
public static  boolean parseXmlBySax(String fileName){
//根据文件名称创建文件
File file = new File(fileName);
//创建文件输入流读取文件
FileInputStream fis = null;
SAXReader reader = null;
Document document =  null;
if(!file.exists()){
logger.info("xml文件不存在");
return false;
}
try {
fis = new FileInputStream(file);
//根据解析文件的编码格式设置编码
reader.setEncoding("gbk");
reader = new SAXReader();
//通过文件输入流获取document
document = reader.read(fis);
//获取跟元素
Element rootElement =  document.getRootElement();
//rootElement下包含的子元素
List<Element> list = rootElement.elements();
if(list != null && list.size()>0){
for(Element element:list){
//获取属性值(第一种方法)
Attribute attribute = element.attribute("name");
String value = attribute.getValue();
//获取属性值(第二种方法)
String newValue = element.attributeValue("name");
//获取element下的第一个userId元素
Element userElement = element.element("userId");
//获取userElement的文本
String text = userElement.getTextTrim();
//进行所需要的业务逻辑处理
}
return true;
}
} catch (FileNotFoundException e) {
logger.error("读取本地文件失败",e);
}catch(DocumentException e1){
logger.error("获取Document失败",e1);
}
return false;
}
}

猜你喜欢

转载自jameszhao1987.iteye.com/blog/1258461