作业之用XML实现小型数据管理系统

来源:互联网 发布:淘宝原单尾货是正品吗 编辑:程序博客网 时间:2024/05/16 13:52

        今天的作业是用XML实现一个简单的小型数据管理系统,我自己用一些解析器的知识等等,反正最后总算是写

了吧,可能在账户登录的验证的时候有一点小bug,但是最近要复习的太多了,所以一直没有去调试。毕竟初

学,见谅。先上一下界面。

 

 

 

        以下上代码:

 

import java.io.File;import java.util.Iterator;import java.util.List;import java.util.Scanner;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;public class JieXiQi {public static SAXReader getParser() {return new SAXReader();}public static Document parser(File xml) throws Exception {SAXReader reader = getParser();Document doc = reader.read(xml);return doc;}public static void login(File xml, String name, String psw)throws Exception {boolean s;Document doc = parser(xml);List list = doc.selectNodes("//user");for (int i = 0; i < list.size(); i++) {Element ele = (Element) list.get(i);String username = ele.element("name").getText();s = name.equals(username)&& psw.equals((ele.element("psw")).getText()); if (s == false) { System.out.println("您的用户信息错误,请注册!"); MySystem.startZhuCeXml(); }if (s) {System.out.println("欢迎 " + name);Admin();}}}public static void Admin() throws Exception {System.out.println("【C 查看用户信息      D 删除用户信息     E 修改用户信息】");Scanner scanner = new Scanner(System.in);String a = scanner.nextLine();char c = (char) a.getBytes()[0];switch (c) {case 'C':search();break;case 'D':delete();break;case 'E':updata();break;default : System.out.println("您的输入不正确,请重新输入!");break;}}static void search() throws Exception {Document doc = parser(MySystem.xml);List userlist = doc.selectNodes("//user");System.out.println("--------------------------------------------------");System.out.println(" |  编号    |    姓名     |   年龄        |            邮箱                      ");System.out.println("--------------------------------------------------");for (int i = 0; i < userlist.size(); i++) {Element ele = (Element) userlist.get(i);List sonlist = ele.elements();System.out.println(" |  " + ((Element) sonlist.get(0)).getData()+ "    |  " + ((Element) sonlist.get(1)).getData()+ "  |       " + ((Element) sonlist.get(2)).getData()+ " |  " + ((Element) sonlist.get(3)).getData());System.out.println("--------------------------------------------------");}Admin();}static void delete() throws Exception {Document doc = parser(MySystem.xml);System.out.println("请输入您要删除的用户编号:");Scanner scanner = new Scanner(System.in);String num = scanner.nextLine();doc = parser(MySystem.xml);List list = doc.selectNodes("//user");for (int i = 0; i < list.size(); i++) {Element ele = ((Element) list.get(i)).element("num");if (ele.getData().equals(num)) {System.out.println("delete………………");Element tempele = (Element) list.get(i);doc.getRootElement().remove(tempele);}}System.out.println("删除成功");MySystem.writeDocument2Xml(doc, MySystem.xml);search();}static void updata() throws Exception {System.out.println("请输入您要修改的用户编号:");Scanner scanner1 = new Scanner(System.in);String num = scanner1.nextLine();System.out.println("请输入修改后的姓名:");Scanner scanner2 = new Scanner(System.in);String name = scanner2.nextLine();System.out.println("请输入修改后的年龄:");Scanner scanner3 = new Scanner(System.in);String age = scanner3.nextLine();System.out.println("请输入修改后的邮箱:");Scanner scanner4 = new Scanner(System.in);String email = scanner4.nextLine();if (num.trim().length() == 0 || name.trim().length() == 0|| age.trim().length() == 0 || email.trim().length() == 0) {System.out.println("您逗我玩呢是吧,请重新输入");} else {updateUser(num, name, age, email);search();}}private static void updateUser(String num, String name, String age,String email) throws Exception {Document doc = parser(MySystem.xml);List users = doc.selectNodes("//user");for (int i = 0; i < users.size(); i++) {if (((Element) users.get(i)).element("num").getData().equals(num)) {((Element) users.get(i)).element("name").setText(name);((Element) users.get(i)).element("age").setText(age);((Element) users.get(i)).element("email").setText(email);MySystem.writeDocument2Xml(doc, MySystem.xml);}}}}


 

import java.io.File;import java.util.Iterator;import java.util.List;import java.util.Scanner;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;public class JieXiQi {public static SAXReader getParser() {return new SAXReader();}public static Document parser(File xml) throws Exception {SAXReader reader = getParser();Document doc = reader.read(xml);return doc;}public static void login(File xml, String name, String psw)throws Exception {boolean s;Document doc = parser(xml);List list = doc.selectNodes("//user");for (int i = 0; i < list.size(); i++) {Element ele = (Element) list.get(i);String username = ele.element("name").getText();s = name.equals(username)&& psw.equals((ele.element("psw")).getText()); if (s == false) { System.out.println("您的用户信息错误,请注册!"); MySystem.startZhuCeXml(); }if (s) {System.out.println("欢迎 " + name);Admin();}}}public static void Admin() throws Exception {System.out.println("【C 查看用户信息      D 删除用户信息     E 修改用户信息】");Scanner scanner = new Scanner(System.in);String a = scanner.nextLine();char c = (char) a.getBytes()[0];switch (c) {case 'C':search();break;case 'D':delete();break;case 'E':updata();break;default : System.out.println("您的输入不正确,请重新输入!");break;}}static void delete() throws Exception {Document doc = parser(MySystem.xml);System.out.println("请输入您要删除的用户编号:");Scanner scanner = new Scanner(System.in);String num = scanner.nextLine();doc = parser(MySystem.xml);List list = doc.selectNodes("//user");for (int i = 0; i < list.size(); i++) {Element ele = ((Element) list.get(i)).element("num");if (ele.getData().equals(num)) {System.out.println("delete………………");Element tempele = (Element) list.get(i);doc.getRootElement().remove(tempele);}}System.out.println("删除成功");MySystem.writeDocument2Xml(doc, MySystem.xml);search();}static void updata() throws Exception {System.out.println("请输入您要修改的用户编号:");Scanner scanner1 = new Scanner(System.in);String num = scanner1.nextLine();System.out.println("请输入修改后的姓名:");Scanner scanner2 = new Scanner(System.in);String name = scanner2.nextLine();System.out.println("请输入修改后的年龄:");Scanner scanner3 = new Scanner(System.in);String age = scanner3.nextLine();System.out.println("请输入修改后的邮箱:");Scanner scanner4 = new Scanner(System.in);String email = scanner4.nextLine();if (num.trim().length() == 0 || name.trim().length() == 0|| age.trim().length() == 0 || email.trim().length() == 0) {System.out.println("您逗我玩呢是吧,请重新输入");} else {updateUser(num, name, age, email);search();}}private static void updateUser(String num, String name, String age,String email) throws Exception {Document doc = parser(MySystem.xml);List users = doc.selectNodes("//user");for (int i = 0; i < users.size(); i++) {if (((Element) users.get(i)).element("num").getData().equals(num)) {((Element) users.get(i)).element("name").setText(name);((Element) users.get(i)).element("age").setText(age);((Element) users.get(i)).element("email").setText(email);MySystem.writeDocument2Xml(doc, MySystem.xml);}}}}


 

        以下XML存放数据的两个文件,上代码

<?xml version="1.0" encoding="UTF-8"?><users><user><name>jack</name><psw>1111</psw></user><user><name>lucy</name><psw>2222</psw></user><user><name>www</name><psw>111</psw></user></users>

 

<?xml version="1.0" encoding="UTF-8"?><users><user><num>1</num><name>jack</name><age>20</age><email>jack@126.com</email></user><user><num>2</num><name>lucy</name><age>20</age><email>lucy@163.com</email></user></users>


        通过这个作业,让我更加熟悉文件解析器的使用,以及XML文件的一些读写,收获还是不小的,努力,坚持,

加油~!!

 

 

0 0
原创粉丝点击