JAVA动态读取xml_Java动态生成和解析xml文件步骤详解
packageday12;importjava.io.FileInputStream;importjava.util.ArrayList;importjava.util.List;importorg.dom4j.Document;importorg.dom4j.Element;importorg.dom4j.io.SAXReader;/*** 使用DOM4J解析XML文檔
*@authortarena
**/
public classParseXMLDemo {public static voidmain(String[] args) {/** 讀取emplist文件,將該xml文檔中的所有員工信息解析出來,
* 并以若干Emp實例保存,然后將這些員工信息存入到一個List集合中。*/
/** 使用DOM解析XML的四大致流程:
* 1.創建SAXReader
* 2.使用SAXReader讀取要解析的XML文檔,該步驟就是DOM耗時耗資源的地方,
* 因為會將文檔所有內容解析完畢并存入到內存中。
* 讀取方法會返回一個Document對象,該對象就表示解析出來的該XML文檔內容
* 3.通過Document對象獲取根元素(根標簽)。
* 4.根據文檔的結構,從根元素開始逐級獲取子元素以達到遍歷XML文檔數據的目的。*/
try{//1
SAXReader reader = newSAXReader();//2
Document doc = reader.read(new FileInputStream("emplist.xml"));/**3.獲取根元素
*Element的每一個實例用于表示XML文檔中的一個元素(一對標簽)
*它提供了很多用于操作當前標簽的方法,其中常用的用于獲取標簽信息的方法有:
*
* String getName() 獲取標簽名
*
* Element elements(Sting name) 根據給定名字獲取當前標簽中的子標簽
*
* List elements()
* 獲取當前標簽中的所有子標簽,返回的集合中是若干Element實例,每個為一個子元素
*
* List elements(String name) 獲取當前標簽中的所有同名名字元素
*
* String getText() 獲取當前標簽中間的文本
*
* Attribute attribute(String name) 獲取當前標簽中指定名字的屬性
**/Element root=doc.getRootElement();
List empList = new ArrayList();/** 獲取標簽中的所有標簽*/List list =root.elements();/** 將每一個標簽中的內容取到,并以一個Emp實例保存,然后將該對象存入集合*/
for(Element empEle : list){//System.out.println(empEle.getName());//獲取name
Element nameEle = empEle.element("name");
String name=nameEle.getText();
System.out.println(name);//獲取age
int age = Integer.parseInt(empEle.elementText("age"));
System.out.println(age);//獲取性別
String gender = empEle.elementText("gender");
System.out.println(gender);//獲取工資
int salary = Integer.parseInt(empEle.elementText("salary"));
System.out.println(salary);//獲取ID
int id = Integer.parseInt(empEle.attributeValue("id"));
Emp emp= newEmp(id , name , age ,gender, salary);
empList.add(emp);
}
System.out.println("解析完成!");for(Emp e:empList){
System.out.println(e);
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
總結
以上是生活随笔為你收集整理的JAVA动态读取xml_Java动态生成和解析xml文件步骤详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android native java_
- 下一篇: java http请求 工具类_Java