Java读取XML文件(1)
ReadXml.java
package Read;
import java.io.IOException;
import java.util.ArrayList;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
//------------------------------------------------
//[email protected] River(赵振江)2015-4-22------------
//------------------------------------------------
public class ReadXml {
public Document loadXml(String file) {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(file);
return document;
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
public ArrayList<String> read(Node node) {
ArrayList<String> arrList = new ArrayList<String>();
return read(node, arrList);
}
private ArrayList<String> read(Node node, ArrayList<String> arrList) {
if (node.getNodeType() == node.ELEMENT_NODE)
arrList.add(node.getNodeName());
NodeList list = node.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
read(list.item(i), arrList);
}
return arrList;
}
public static void main(String[] args) {
ReadXml readXml = new ReadXml();
Document doc = readXml.loadXml("class.xml");
ArrayList<String> list = readXml.read(doc);
for (String str : list) {
System.out.println(str);
}
}
}
class.xml
<?xml version="1.0" encoding="utf-8"?> <班级> <学生 id="a01"> <名字>周星驰</名字> <年龄>23</年龄> <介绍>学习刻苦</介绍> </学生> <学生 id="a02">> <名字>林青霞</名字> <年龄>32</年龄> <介绍>是一个好学生</介绍> </学生> <学生2 id="a03">> <名字>林青霞</名字> <年龄>32</年龄> <介绍>是一个好学生</介绍> </学生2> </班级>
时间: 2024-12-25 14:01:07