博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml2
阅读量:6814 次
发布时间:2019-06-26

本文共 2323 字,大约阅读时间需要 7 分钟。

hot3.png

 package cn.demo;
import java.io.File;import java.util.ArrayList;import java.util.List;
import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NodeList;
import cn.domain.Cls;import cn.domain.Student;
public class StudDao { public List
 query() throws Exception {  // 1:创建一个List  List
 clses = new ArrayList
();
  // 1:创建XML解析器  DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();  DocumentBuilder db = dbf.newDocumentBuilder();
  // 2:解析Xml文件,返回一个org.w3c.Docuemnt内存文档对象  Document dom = db.parse(new File("./files/studs.xml"));  // 3:读取所有cls元素  NodeList nl = dom.getElementsByTagName("cls");  // 遍历所有List  for (int i = 0; i < nl.getLength(); i++) {
   // 每一次读取到一个
元素,都是一个新的班级   Cls cls = new Cls();
   Element ele = (Element) nl.item(i);// 获取每一个元素
   String name = ele.getAttribute("name");// 获取name属性的值
   // 设置名称   cls.setName(name);   // 在ele下获取
元素   NodeList studs = ele.getElementsByTagName("stud");   for (int j = 0; j < studs.getLength(); j++) {
    Student student = new Student();
    Element stud = (Element) studs.item(j);    String id = stud.getAttribute("id");    String studName = stud.getElementsByTagName("name").item(0).getTextContent();    String studAge = stud.getElementsByTagName("age").item(0).getTextContent();    NodeList tels = stud.getElementsByTagName("tel");    String tel = "";    if (tels.getLength() > 0) {     tel = tels.item(0).getTextContent();    }
    student.setName(studName);    student.setId(id);    student.setAge(Integer.valueOf(studAge));    student.setTel(tel);
    // 放到cls    cls.getStuds().add(student);   }   //放到   clses.add(cls);     }  return clses; }}package cn.demo;
import java.util.List;
import org.junit.Test;
import cn.domain.Cls;import cn.domain.Student;
public class StudAction { @Test public void test1() throws Exception {  List
 list = new StudDao().query();  for(Cls c:list){   System.err.println(c.getName());   for(Student s:c.getStuds()){    System.err.println("     "+s.getName()+","+s.getId()+","+s.getAge()+","+s.getTel());   }   System.err.println("-----------------------------");  } }}

转载于:https://my.oschina.net/dtz/blog/635255

你可能感兴趣的文章
H3CNE 大综合实验 覆盖所有的NE课程
查看>>
统计文件行数
查看>>
ubutu使用apt-get 安装报:Err http://security.ubuntu.com precise-security InRelease 等
查看>>
Leetcode#19Remove Nth Node From End of List
查看>>
什么是软件测试
查看>>
数据库中nchar,nvarchar,char,varchar的区别
查看>>
利用php soap实现web service (二)
查看>>
浅谈PHP弱类型安全
查看>>
linux下tomcat开机自启动
查看>>
使用go语言的list实现一个简单的LRU缓存
查看>>
rdma centos 7.3安装
查看>>
CloudStack中注册vsphere模版提示Connection Refused的解决方法
查看>>
我的友情链接
查看>>
更改WIIN7下C盘根目录下的写入权限
查看>>
python符号打印,bpython ,脚本tab自动补全
查看>>
python生成随机验证码
查看>>
续上篇LVS脚本
查看>>
jenkins安装
查看>>
RPMBUILD
查看>>
HDC与CDC
查看>>