解析XML主流有两种方式DOM和SAX,这里写个简单的DOM方式解析XML的例子
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
/**
* DOM解析student_schema.xml
* @author Jasper
*
*/
public class DOMStudent2 {
public static void main(String[] args) {
/** 创建工厂*/
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = factory.newDocumentBuilder();
File file = new File("student_schema.xml");
Document document = builder.parse(file);
/** 得到节点列表(空格也算节点)*/
NodeList nodeList= document.getElementsByTagName("Student");
for(int i=0;i<nodeList.getLength();i++){
/**这里是比较有意思的item(1),itemt(3),为什么?因为空格也算一个节点*/
String name=nodeList.item(i).getChildNodes().item(1).getTextContent();
String age = nodeList.item(i).getChildNodes().item(3).getTextContent();
String gender = nodeList.item(i).getChildNodes().item(5).getTextContent();
System.out.println(name+" "+age+" "+gender);
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}