xml个人小案例(不喜勿喷)

--------------javabean-------------------------

package cn.gdpe.bean;

public class Contact {
    private String id;
    private String name;
    private String address;
    private String sex;
    private String cell;
    private String salary;
    private String qq;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getCell() {
        return cell;
    }
    public void setCell(String cell) {
        this.cell = cell;
    }
    public String getSalary() {
        return salary;
    }
    public void setSalary(String salary) {
        this.salary = salary;
    }
    public String getQq() {
        return qq;
    }
    public void setQq(String qq) {
        this.qq = qq;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    @Override
    public String toString (){
        return "编号--》"+id+"  姓名--》"+name+"  性别--》"+sex+"  电话--》"+cell+"  QQ--》"+qq+"  薪水--》"+salary+"  地址--》"+address;
    } 
}
------------------------dao层------------------------------

package cn.gdpe.dao;
import cn.gdpe.bean.Contact;
import cn.gdpe.utils.XmlUtil;
public class ContactDaoImpl {
    //根据id查询
    public Contact getById(String id){
        Document doc=XmlUtil.xmlReader();
        Element root=doc.getRootElement();
        List<Element> list=root.elements();
        Contact cont=new Contact();
        for(Element e:list){
            String idAttr=e.attribute("id").getText();
            if(id.equals(idAttr)){
                cont.setId(idAttr);
                cont.setName(e.element("name").getText());
                cont.setAddress(e.element("address").getText());
                cont.setSex(e.element("sex").getText());
                cont.setCell(e.element("cell").getText());
                cont.setSalary(e.element("salary").getText());
                cont.setQq(e.element("qq").getText());
                break;
            }
        }
        return cont;
    }
    //增加联系人
    public void addContact(Contact cont){
        Document doc=XmlUtil.xmlReader();
        Element root=doc.getRootElement();
        Element e=root.addElement("contact");
        e.addAttribute("id", cont.getId());
        e.addElement("name").setText(cont.getName());
        e.addElement("address").setText(cont.getAddress());
        e.addElement("sex").setText(cont.getSex());
        e.addElement("cell").setText(cont.getCell());
        e.addElement("salary").setText(cont.getSalary());
        e.addElement("qq").setText(cont.getQq());
        XmlUtil.xmlWriter(doc);
    }
    //修改联系人
    public void updateContact(Contact cont){
        Document doc=XmlUtil.xmlReader();
        Element root=doc.getRootElement();
        List<Element> list=root.elements();
        String id=cont.getId();
        for(Element e:list){
            String idAttr=e.attribute("id").getText();
            if(id.equals(idAttr)){
                e.setText(cont.getName());
                e.setText(cont.getAddress());
                e.setText(cont.getSex());
                e.setText(cont.getCell());
                e.setText(cont.getSalary());
                e.setText(cont.getQq());
                break;
            }
        }
        XmlUtil.xmlWriter(doc);
    }
    //删除联系人
    public void deleteContact(String id){
        Document doc=XmlUtil.xmlReader();
        Element root=doc.getRootElement();
        List<Element> list=root.elements();
        for(Element e:list){
            String idAttr=e.attribute("id").getText();
            if(id.equals(idAttr)){
                root.remove(e);
                break;
            }
        }
        XmlUtil.xmlWriter(doc);
    }
    //所有联系人
    public List<Contact> allContact(){
        Document doc=XmlUtil.xmlReader();
        Element root=doc.getRootElement();
        List<Contact> contactList=new ArrayList<Contact>();
        List<Element> list=root.elements();
        for(Element e:list){
                Contact cont=new Contact();
                cont.setId(e.attributeValue("id"));
                cont.setName(e.element("name").getText());
                cont.setAddress(e.element("address").getText());
                cont.setSex(e.element("sex").getText());
                cont.setCell(e.element("cell").getText());
                cont.setSalary(e.element("salary").getText());
                cont.setQq(e.element("qq").getText());
                contactList.add(cont);
        }
        return contactList;
    }
}
---------------------------serlvet层-----------------------------

package cn.gdpe.controller;
import org.apache.commons.beanutils.BeanUtils;
import cn.gdpe.bean.Contact;
import cn.gdpe.dao.ContactDaoImpl;
public class ContactServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");
        String method=request.getParameter("method");
        System.out.println(method);
        ContactDaoImpl cDao=new ContactDaoImpl();
        String uri=null;
        if("".equals(method)||method==null){
            List<Contact> list=cDao.allContact();
            request.setAttribute("list", list);
            uri="/list.jsp";
            
        }else if("getOne".equals(method)){
            String id=request.getParameter("id");
            Contact con=cDao.getById(id);
            request.setAttribute("con", con);
            uri="/detail.jsp";
        }else if("deleteOne".equals(method)){
            String id=request.getParameter("id");
            cDao.deleteContact(id);
            List<Contact> list=cDao.allContact();
            request.setAttribute("list", list);
            uri="/list.jsp";
        }else if("updateOne".equals(method)){
            String id=request.getParameter("id");
            Contact con=cDao.getById(id);
            request.setAttribute("con", con);
            uri="/update.jsp";
        }else if("update".equals(method)){
            try {
                Contact con=new Contact();
                BeanUtils.setProperty(con,"id",request.getParameter("id"));
                BeanUtils.setProperty(con,"name",request.getParameter("name"));
                BeanUtils.setProperty(con,"sex",request.getParameter("sex"));
                BeanUtils.setProperty(con,"cell",request.getParameter("cell"));
                BeanUtils.setProperty(con,"address",request.getParameter("address"));
                BeanUtils.setProperty(con,"salary",request.getParameter("salary"));
                BeanUtils.setProperty(con,"qq",request.getParameter("qq"));
                cDao.updateContact(con);
                List<Contact> list=cDao.allContact();
                request.setAttribute("list", list);
                uri="/list.jsp";
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }else if("addOne".equals(method)){
            try {
                Contact con=new Contact();
                BeanUtils.setProperty(con,"id",request.getParameter("id"));
                BeanUtils.setProperty(con,"name",request.getParameter("name"));
                BeanUtils.setProperty(con,"sex",request.getParameter("sex"));
                BeanUtils.setProperty(con,"cell",request.getParameter("cell"));
                BeanUtils.setProperty(con,"address",request.getParameter("address"));
                BeanUtils.setProperty(con,"salary",request.getParameter("salary"));
                BeanUtils.setProperty(con,"qq",request.getParameter("qq"));
                cDao.addContact(con);
                List<Contact> list=cDao.allContact();
                request.setAttribute("list", list);
                uri="/list.jsp";
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                e.printStackTrace();
            }
        }
        else if("add".equals(method)){
            uri="/add.jsp";
        }
        request.getRequestDispatcher(uri).forward(request, response);
    }
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request,response);
    }

}
----------------------------工具类-------------------------

package cn.gdpe.utils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class XmlUtil {
    public static Document xmlReader(){
        try {
            File file=new File("F:/contact.xml");
            if(file.exists()){
                SAXReader sr=new SAXReader();
                Document document=sr.read(file);
                return document;
            }else{
                throw new RuntimeException("文件不存在");
            }
        }  catch (DocumentException e) {
            throw new RuntimeException(e);
        }
    }
    public static void xmlWriter(Document document){
        try {
            FileOutputStream fos=new FileOutputStream("F:/contact.xml");
            OutputFormat of=OutputFormat.createPrettyPrint();
            XMLWriter writer=new XMLWriter(fos,of);
            writer.write(document);
            writer.close();
            fos.close();
        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        } catch (UnsupportedEncodingException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

-------------------------------xml文档格式--限制字数凑合着看吧---------------------------

<?xml version="1.0" encoding="UTF-8"?>
<contacts><contact><name></name><address></address><sex></sex> <cell></cell><salary></salary<QQ></QQ></contact></contacts>

转载于:https://my.oschina.net/chenliyong/blog/671501

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值