您的位置:首页 > 其它

XML解析技术 dom4j读取技术

2018-03-09 18:24 381 查看
package cn.dom4j;

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

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

public class ReadXML {

public static void readXML(){

//创建XML文档读取的dom4j对象
SAXReader reader = new SAXReader();

//创建输入流
FileInputStream in = null;
try {
in = new FileInputStream("src/person.xml");
//读取文档 返回文档对象
Document doc = reader.read(in);
//获得根元素
Element root = doc.getRootElement();
//获得元素名称
String elementName = root.getName();
System.out.println(elementName);
//获得root下的孩子元素
List<Element> eList = root.elements();
//遍历子元素
for(Element element :eList){
String elename = element.getName();
System.out.println(elename);
//获取每一个子元素的属性
List<Attribute> aList = element.attributes();

//遍历子元素的属性
/**
for(Attribute attr : aList){
//获得属性名字
String attrName = attr.getName();
//获得属性值
String attrVal = attr.getText();
//打印属性名字和属性值!
System.out.println("属性名字:" + attrName + "属性值" + attrVal);
}
*/
//根据属性名  获得属性对象
/*Attribute idattr = element.attribute("id");
Attribute genderattr = element.attribute("gender");
*/
//知道属性名字 直接获取属性值
/*String attrValue = element.attributeValue("id");
System.out.println(attrValue);
String attrGender = element.attributeValue("gender");
System.out.println(attrGender);
*/
}

} catch (Exception e) {
e.printStackTrace();
}finally{
if(in != null)
try {
if(in != null){
in.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

public static void readXML1(){

//创建XML文档读取的dom4j对象
SAXReader reader = new SAXReader();

//创建输入流
FileInputStream in = null;
try {
in = new FileInputStream("src/person.xml");
//读取文档 返回文档对象
Document doc = reader.read(in);
//获得根元素
Element root = doc.getRootElement();
//获得元素名称
String elementName = root.getName();
System.out.println(elementName);
//获得root下的孩子元素
List<Element> eList = root.elements();
//遍历子元素
for(Element element :eList){

//获得子元素person中的子元素
List<Element> eList1 = element.elements();

//循环person中所有的子元素
for(Element ele : eList1){

//获得person下子元素的名字
String eleName = ele.getName();

//获得person下子元素的值

String eleText = ele.getText();

System.out.println("元素名" + eleName + "值" + eleText);
}

}

} catch (Exception e) {
e.printStackTrace();
}finally{
if(in != null)
try {
if(in != null){
in.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: