2.[文件]
DomXMLParser.java ~ 2KB
下载(11)
package com.senvn.parser;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import com.senvn.bean.Student;
public class DomXMLParser {
public static List readXML(InputStream input) {
List list = new ArrayList();
DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = builderFactory.newDocumentBuilder();
Document document = builder.parse(input);
// 获取根元素
Element rooElement = document.getDocumentElement();
NodeList nodeList = rooElement.getElementsByTagName("student");
//遍历子结点
for(int j=0;j
Element childElement = (Element)nodeList.item(j);
Student s = new Student();
s.setId(Integer.parseInt(childElement.getAttribute("id")));
s.setSex(childElement.getAttribute("sex"));
NodeList attrNodes = childElement.getChildNodes();
for(int i=0;i
if(attrNodes.item(i).getNodeType() == Node.ELEMENT_NODE){
if("name".equals(attrNodes.item(i).getNodeName())){
s.setName(attrNodes.item(i).getFirstChild().getNodeValue());
} else if("age".equals(attrNodes.item(i).getNodeName())){
s.setAge(Integer.parseInt(attrNodes.item(i).getFirstChild().getNodeValue()));
}
}
}
list.add(s);
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return list;
}
}