📄 xmldispose.java~63~
字号:
package chat;
import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.output.*;
import org.jdom.input.*;
//import javax.servlet.*;
//import javax.servlet.http.*;
public class XmlDispose{
//private String bookname, author, pub, price, pubdate;
private String userId,password,userName,userEmail;
public String getUserId() {
return userId;
}
public String getPassword() {
return password;
}
public String getUserName() {
return userName;
}
public String getUserEmail() {
return userEmail;
}
/*public String getpubdate() {
return pubdate;
}*/
public void setUserId(String userId) {
this.userId= userId;
}
public void setpassword(String password) {
this.password = password;
}
public void setUserName(String userName) {
this.userName = userName;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
/*public void setpubdate(String pubdate) {
this.pubdate = pubdate;
}*/
public XmlDispose() {}
/**
* 读取XML文件所有信息
*/
public Vector LoadXML() throws Exception {
Vector xmlVector = null;
FileInputStream fi = null;
String path="userinfo.xml";
try {
fi = new FileInputStream(path);
xmlVector = new Vector();
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元素
List users = root.getChildren(); //得到根元素所有子元素的集合
Element user = null;
XmlDispose xml = null;
for (int i = 0; i < users.size(); i++) {
xml = new XmlDispose();
user = (Element) users.get(i); //得到第一本书元素
xml.setUserId(user.getChild("userid").getText());
xml.setpassword(user.getChild("password").getText());
xml.setUserName(user.getChild("username").getText());
xml.setUserEmail(user.getChild("useremail").getText());
xmlVector.add(xml);
}
}
catch (Exception e) {
System.err.println(e + "error");
}
finally {
try {
fi.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return xmlVector;
}
public boolean checkUser(String userId,String password) throws Exception {
boolean b=false;
Vector userInfoVector;
XmlDispose xml;
userInfoVector=this.LoadXML();
Enumeration enumeration=userInfoVector.elements();
while(enumeration.hasMoreElements()){
xml=(XmlDispose)enumeration.nextElement();
System.out.println(xml.getUserId()+" "+xml.getPassword());
if(xml.getUserId().equals(userId)&xml.getPassword().equals(password)){
b=true;
return b;
}
}
return b;
}
/**
* 删除XML文件指定信息
*/
/* public static void DelXML(HttpServletRequest request) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
try {
String path = request.getParameter("path");
int xmlid = Integer.parseInt(request.getParameter("id"));
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元素
List books = root.getChildren(); //得到根元素所有子元素的集合
books.remove(xmlid); //删除指定位置的子元素
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent, newLines, "GBK");
fo = new FileOutputStream(path);
outp.output(doc, fo);
}
catch (Exception e) {
System.err.println(e + "error");
}
finally {
try {
fi.close();
fo.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}*/
/**
* 添加XML文件指定信息
*/
public static void addUser(String userId,String password,String userName,String userEmail) throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
String path="userinfo.xml";
try {
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元素
List users = root.getChildren(); //得到根元素所有子元素的集合
Element newuser = new Element("user");
Element newuserid = new Element("userid");
newuserid.setText(userId);
newuser.addContent(newuserid);
Element newpassword = new Element("password");
newpassword.setText(password);
newuser.addContent(newpassword);
Element newname = new Element("username");
newname.setText(userName);
newuser.addContent(newname);
Element newemail = new Element("useremail");
newemail.setText(userEmail);
newuser.addContent(newemail);
users.add(newuser); //增加子元素
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent, newLines, "GBK");
fo = new FileOutputStream(path);
outp.output(doc, fo);
}
catch (Exception e) {
System.err.println(e + "error");
}
finally {
try {
fi.close();
fo.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
public byte registerUser(String userId,String userPassword,String userName,String userEmail) {
byte successed=0;
Vector userInfoVector;
XmlDispose xml;
try{
userInfoVector = this.LoadXML();
Enumeration enumeration = userInfoVector.elements();
while (enumeration.hasMoreElements()) {
xml = (XmlDispose) enumeration.nextElement();
if (xml.getUserId().equals(userId)) {
successed = -1;
return successed;
}
}
addUser(userId, userPassword, userName, userEmail);
successed = 1;
}catch(Exception e){
successed=0;
}
return successed;
}
/**
* 修改XML文件指定信息
*/
/*public static void EditXML() throws Exception {
FileInputStream fi = null;
FileOutputStream fo = null;
String path="userinfo.xml";
try {
int xmlid = Integer.parseInt(request.getParameter("id"));
fi = new FileInputStream(path);
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(fi);
Element root = doc.getRootElement(); //得到根元素
List books = root.getChildren(); //得到根元素所有子元素的集合
Element book = (Element) books.get(xmlid);
// books.get
// String bookname = request.getParameter("bookname");
// String author = request.getParameter("author");
// // String price = request.getParameter("price");
// String pub = request.getParameter("pub");
// String pubdate = request.getParameter("pubdate");
//Text newtext;
Element newname = book.getChild("书名");
newname.setText(bookname); //修改书名为新的书名
Element newauthor = book.getChild("作者");
newauthor.setText(author);
Element newpub = book.getChild("出版社");
newpub.setText(pub);
Element newprice = book.getChild("价格");
newprice.setText(price);
Element newdate = book.getChild("出版日期");
newdate.setText(pubdate);
//books.set(xmlid,book);//修改子元素
String indent = " ";
boolean newLines = true;
XMLOutputter outp = new XMLOutputter(indent, newLines, "GBK");
fo = new FileOutputStream(path);
outp.output(doc, fo);
}
catch (Exception e) {
System.err.println(e + "error");
}
finally {
try {
fi.close();
fo.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}*/
public static void main(String[] args){
XmlDispose xmlDispose = new XmlDispose();
Vector vector;
try {
vector = xmlDispose.LoadXML();
//xmlDispose.AddXML();
System.out.println(xmlDispose.registerUser("user","yeboqing","boqing","@"));
}
catch (Exception e) {
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -