使用Xml文档进行数据的保存的学生成绩管理系统
发布时间:2020-12-16 09:34:06 所属栏目:百科 来源:网络整理
导读:有三种操作: 1.添加学生信息 2.删除学生信息 3.查看学生成绩 代码: package cn.itcast.dao;import java.io.FileOutputStream;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.Tran
有三种操作: 1.添加学生信息 2.删除学生信息 3.查看学生成绩
代码: package cn.itcast.dao; import java.io.FileOutputStream; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import cn.itcast.bean.Student; public class StudentDao { public static void add(Student stu) throws Exception{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse("src/Exam.xml"); Element e1 = (Element) document.getElementsByTagName("human").item(0); Element e2 = (Element) document.createElement("student"); e1.appendChild(e2); Element e21 = (Element) document.createElement("usrname"); e21.setTextContent(stu.getUsrname()); Element e22 = (Element) document.createElement("ticketNum"); e22.setTextContent(stu.getTicketNum()); Element e23 = (Element) document.createElement("idNum"); e23.setTextContent(stu.getIdNum()); Element e24 = (Element) document.createElement("location"); e24.setTextContent(stu.getLocation()); Element e25 = (Element) document.createElement("gradeNum"); e25.setTextContent(stu.getGradeNum()); e2.appendChild(e21); e2.appendChild(e22); e2.appendChild(e23); e2.appendChild(e24); e2.appendChild(e25); TransformerFactory ttfactory = TransformerFactory.newInstance(); Transformer tf = ttfactory.newTransformer(); tf.transform(new DOMSource(document),new StreamResult(new FileOutputStream("src/Exam.xml"))); } public static void delete(String usrname) throws Exception{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse("src/Exam.xml"); NodeList list = document.getElementsByTagName("usrname"); for(int i=0;i<list.getLength();i++){ String content = list.item(i).getTextContent(); if(content.equals(usrname)){ list.item(i).getParentNode().getParentNode().removeChild(list.item(i).getParentNode()); } } TransformerFactory ttfactory = TransformerFactory.newInstance(); Transformer tf = ttfactory.newTransformer(); tf.transform(new DOMSource(document),new StreamResult(new FileOutputStream("src/Exam.xml"))); } public static void read(String ticketNum) throws Exception{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document document = builder.parse("src/Exam.xml"); NodeList list = document.getElementsByTagName("ticketNum"); for(int i=0;i<list.getLength();i++){ String num = list.item(i).getTextContent(); if(num.equals(ticketNum)){ Node root = list.item(i).getParentNode(); list(root); } } } private static void list(Node root) { NodeList child = root.getChildNodes(); for(int i=0;i<child.getLength();i++){ Node node = child.item(i); System.out.println(node.getNodeName()+":"+node.getTextContent()); } } } 完整源码: http://download.csdn.net/detail/tan313/7905557 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- WCF - 序列化(DataContractSerializer, XmlSerializer, Dat
- 初识SQLite[二]
- Oracle中exp导出与imp导入的参数(full,owner/formuser/tous
- c# – 如何强制void方法从Stub对象返回Void?
- react 使用 eslint 的三种代码检查方案总结,多了解点--让代
- c# – Parallel.Foreach SQL查询有时会导致连接
- 编译sqlite动态库及测试
- ddd quickly 中文版译者序
- ReactJS学习系列课程(React 性能优化及immutable使用)
- C# /VB.NET操作Word批注(一)—— 插入、修改、删除Word批