1、创建VO(Value Object)
public class Teacher
{
private intid;
privateString name;
privateString desc;
…
…
}
2、解析
public class Demo
{
public static void main(String args[])
{
//创建dom解析器工厂
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
//通过解析器工厂创建解析器
DocumentBuilderbuilder=dbf.newDocumentBuilder();
//构建一个指向指定文件的输入流
InputStreamis=Thread.currentThread().getContextClassLoader().getResourceAsStream(“person.xml”)
//开始解析,并返回Document对象
Documentdoc=builder.parse(is); //org.w3c下的document
}
//根据文档的节点获取数据
NodeList nodeList=doc.getElementsByTagName(“teacher”);
List<Teacher> teachers=newArrrayList(Teacher)();
Teacher t=null;
for(int i=0;i<nodeList.getLength();i++)
{
t=newTeacher();
Node teacherNode=nodeList.item(i);
//获取当前节点的属性id
Teachernode.getAttributes().getNamedItem(“id”).getNodeValue();
t.setId(Integer.parseInt(id));
//获取当前节点下的所有子节点列表
NodeListchildNodeList=teacherNode.getChildNodes();
for(int j=0;j<childNodeList.getLength();j++ )
{
NodechildNode=childNodeList.item(j);
Stringtagname= childNode.getNodeName();
if(“name”equals(tagname))
{
t.setName(childNode.getFirstChild().getNodeValue);
}else(“desc”equals(tagname))
{
t.setDesc(childNode.getFirstChild().getNodeValue);
}
}
teachers.add(t);
}
}