您的位置:首页 > 编程语言 > Java开发

【JavaWeb】XML文件_使用xml文件作为数据库并且使用xpath技术模拟用户登录

2018-01-24 23:49 731 查看

使用xml文件作为数据库并且使用xpath技术模拟用户登录

使用xml文件作为用户信息数据库:
<?xml version="1.0" encoding="UTF-8"?>
<user-list>
<user>
<name>eric</name>
<password>123456</password>
</user>
<user>
<name>jacky</name>
<password>123456</password>
</user>
<user>
<name>lucy</name>
<password>123456</password>
</user>
</user-list>


用户登录模拟:
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

public class LoginTest {

public static void main(String[] args) throws Exception {

/**
* 键盘录入 Scanner类 BufferedReader类(流的形式)
*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入用户名:");
String name = br.readLine();

System.out.println("请输入密码");
String password = br.readLine();

// 读取user.xml文件
Document doc = new SAXReader().read(new File("./src/user.xml"));

// 使用XPAth快速定位
Element nameElem = (Element) doc.selectSingleNode("//user/name[text()='" + name + "']");

// 非空判断(如果不为空则存在,用户名输入正确)
if (nameElem != null) {
// 查看输入的是否和user.xml文件中规定password的文本内容是否一致
Element userElem = nameElem.getParent();
String dbPwd = userElem.elementText("password"); // 通过elementText() 方法直接获取标签的文本内容

// 判断,键盘录入的password是否和数据库中的dbPwd的内容一致
if (password.equals(dbPwd)) {
System.out.println("用户密码正确,登录成功!!!");
} else {
System.out.println("密码不正确,请重新输入");
}
} else {
System.out.println("温馨提示:用户名不存在!!!");
}

}
}


测试:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: