【题目】:基于XML文件实现一个简易的控制台程序,可以查看学生成绩,添加学生,删除学生等。
xml文件保存在src/com/dom/exercise文件夹下,它的格式如下:
小明 90 90 93 小李 78 86 98 小王 89 83 95
登录后复制登录后复制
这个可以说是最简单的程序了,稍微复杂的一点是它要基于XML文件来实现,所以这里肯定要使用DOM解析,SAX不能用是因为SAX解析只能读取XML文件而不能更新。
1.首先编写StudentBean,如下:
package com.dom.exercise;public class Student { private String id = null; private String name = null; private int score_java; private int score_oracle; private int score_vb; public Student() { } public Student(String id, String name, int score_java, int score_oracle, int score_vb) { super(); this.id = id; this.name = name; this.score_java = score_java; this.score_oracle = score_oracle; this.score_vb = score_vb; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getScore_java() { return score_java; } public void setScore_java(int score_java) { this.score_java = score_java; } public int getScore_oracle() { return score_oracle; } public void setScore_oracle(int score_oracle) { this.score_oracle = score_oracle; } public int getScore_vb() { return score_vb; } public void setScore_vb(int score_vb) { this.score_vb = score_vb; }}
登录后复制登录后复制
2.编写最关键的StudentService类,它对XML文档进行各种操作
import java.util.ArrayList;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;public class StudentService { private static Document document = null; private static String path = "src/com/dom/exercise/student.xml"; static{ try{ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); document = documentBuilder.parse(path); }catch(Exception e){ System.out.println("初始化失败..."); e.printStackTrace(); } } /** * 获取所有学生信息 * @return */ public static ArrayList readAll(){ ArrayList array = new ArrayList(); NodeList students = document.getElementsByTagName("student"); for (int i = 0; i3.编写主测试程序
实现简易界面:package com.dom.exercise;import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean flag = true; while(flag){ // 显示操作界面 System.console(); System.out.println("*********************操作界面*********************"); System.out.println("1.查询所有学生的成绩"); System.out.println("2.按照ID查询学生成绩 "); System.out.println("3.添加一个学生"); System.out.println("4.按照ID删除一个学生"); System.out.println("0.退出系统"); System.out.println("************************************************"); // 获取用户的操作 String operate = scanner.next(); if ("1".equals(operate)) { ArrayList students = StudentService.readAll(); System.out.println("所有的学生信息如下:"); System.out.println("NameIDJavaOracleVB"); for (Student student : students) { System.out.println(student.getName() + "" + student.getId() + "" + student.getScore_java() + "" + student.getScore_oracle() + "" + student.getScore_vb()); } }else if("2".equals(operate)){ System.out.println("请输入要查询的学生ID:"); String sid = scanner.next(); Student student = StudentService.getStudentById(sid); System.out.println("学号为"+sid+"的学生的信息如下:"); System.out.println("NameIDJavaOracleVB"); System.out.println(student.getName() + "" + student.getId() + "" + student.getScore_java() + "" + student.getScore_oracle() + "" + student.getScore_vb()); }else if("3".equals(operate)){ System.out.println("请输入要添加的学生ID:"); String sid = scanner.next(); System.out.println("请输入要添加的学生姓名:"); String name = scanner.next(); System.out.println("请输入要添加的学生Java成绩:"); int score_java = Integer.parseInt(scanner.next()); System.out.println("请输入要添加的学生Oracle成绩:"); int score_oracle = Integer.parseInt(scanner.next()); System.out.println("请输入要添加的学生VB成绩:"); int score_vb = Integer.parseInt(scanner.next()); Student student = new Student(sid, name, score_java, score_oracle, score_vb); StudentService.addStudent(student); System.out.println("添加成功!"); }else if("4".equals(operate)){ System.out.println("请输入要删除的学生的ID:"); String sid = scanner.next(); StudentService.deleteStudentById(sid); System.out.println("删除成功!"); } System.out.println("是否继续?(Y/N)"); flag = scanner.next().trim().toLowerCase().equals("y")?true:false; } scanner.close(); }}登录后复制
问题的关键仍是DOM解析XML,对XML进行crud操作。
【题目】:基于XML文件实现一个简易的控制台程序,可以查看学生成绩,添加学生,删除学生等。
xml文件保存在src/com/dom/exercise文件夹下,它的格式如下:
小明 90 90 93 小李 78 86 98 小王 89 83 95登录后复制登录后复制
这个可以说是最简单的程序了,稍微复杂的一点是它要基于XML文件来实现,所以这里肯定要使用DOM解析,SAX不能用是因为SAX解析只能读取XML文件而不能更新。
1.首先编写StudentBean,如下:
package com.dom.exercise;public class Student { private String id = null; private String name = null; private int score_java; private int score_oracle; private int score_vb; public Student() { } public Student(String id, String name, int score_java, int score_oracle, int score_vb) { super(); this.id = id; this.name = name; this.score_java = score_java; this.score_oracle = score_oracle; this.score_vb = score_vb; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getScore_java() { return score_java; } public void setScore_java(int score_java) { this.score_java = score_java; } public int getScore_oracle() { return score_oracle; } public void setScore_oracle(int score_oracle) { this.score_oracle = score_oracle; } public int getScore_vb() { return score_vb; } public void setScore_vb(int score_vb) { this.score_vb = score_vb; }}登录后复制登录后复制
2.编写最关键的StudentService类,它对XML文档进行各种操作
import java.util.ArrayList;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;public class StudentService { private static Document document = null; private static String path = "src/com/dom/exercise/student.xml"; static{ try{ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder(); document = documentBuilder.parse(path); }catch(Exception e){ System.out.println("初始化失败..."); e.printStackTrace(); } } /** * 获取所有学生信息 * @return */ public static ArrayList readAll(){ ArrayList array = new ArrayList(); NodeList students = document.getElementsByTagName("student"); for (int i = 0; i3.编写主测试程序
实现简易界面:package com.dom.exercise;import java.util.ArrayList;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean flag = true; while(flag){ // 显示操作界面 System.console(); System.out.println("*********************操作界面*********************"); System.out.println("1.查询所有学生的成绩"); System.out.println("2.按照ID查询学生成绩 "); System.out.println("3.添加一个学生"); System.out.println("4.按照ID删除一个学生"); System.out.println("0.退出系统"); System.out.println("************************************************"); // 获取用户的操作 String operate = scanner.next(); if ("1".equals(operate)) { ArrayList students = StudentService.readAll(); System.out.println("所有的学生信息如下:"); System.out.println("NameIDJavaOracleVB"); for (Student student : students) { System.out.println(student.getName() + "" + student.getId() + "" + student.getScore_java() + "" + student.getScore_oracle() + "" + student.getScore_vb()); } }else if("2".equals(operate)){ System.out.println("请输入要查询的学生ID:"); String sid = scanner.next(); Student student = StudentService.getStudentById(sid); System.out.println("学号为"+sid+"的学生的信息如下:"); System.out.println("NameIDJavaOracleVB"); System.out.println(student.getName() + "" + student.getId() + "" + student.getScore_java() + "" + student.getScore_oracle() + "" + student.getScore_vb()); }else if("3".equals(operate)){ System.out.println("请输入要添加的学生ID:"); String sid = scanner.next(); System.out.println("请输入要添加的学生姓名:"); String name = scanner.next(); System.out.println("请输入要添加的学生Java成绩:"); int score_java = Integer.parseInt(scanner.next()); System.out.println("请输入要添加的学生Oracle成绩:"); int score_oracle = Integer.parseInt(scanner.next()); System.out.println("请输入要添加的学生VB成绩:"); int score_vb = Integer.parseInt(scanner.next()); Student student = new Student(sid, name, score_java, score_oracle, score_vb); StudentService.addStudent(student); System.out.println("添加成功!"); }else if("4".equals(operate)){ System.out.println("请输入要删除的学生的ID:"); String sid = scanner.next(); StudentService.deleteStudentById(sid); System.out.println("删除成功!"); } System.out.println("是否继续?(Y/N)"); flag = scanner.next().trim().toLowerCase().equals("y")?true:false; } scanner.close(); }}登录后复制
问题的关键仍是DOM解析XML,对XML进行crud操作。
以上就是XML—DOM解析案例的内容,更多相关内容请关注PHP中文网(www.php.cn)!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419992.html