Java xml 图书管理系统-BookUtil类

本文将深入探讨Java中用于XML图书管理的BookUtil类。我们将了解此类如何帮助我们处理图书数据的读写,解析XML文件以及实现图书操作的相关功能。
摘要由CSDN通过智能技术生成

返回目录


import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

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

public class BookUtil {
   

    /**
     * 功能:根据书籍名称修改书籍
     * @param book 待修改的书籍 
     * @return 修改是否成功
     */
    @SuppressWarnings("unchecked")
    public boolean udpateBookByName(Book book){

        boolean bn=false;
        //获取document对象
        Document document=getDocument();
        //获取根元素
        Element rootElement=document.getRootElement();
        //获取所有的书籍
        List<Element> list=rootElement.elements();
        //遍历list集合
        for(Element bookElement:list){

            //获取书籍名称
            String name=bookElement.elementText("title");
            //判断修改的是哪一本书
            if(name.equals(book.getBookName())){
                //修改书籍编号
                bookElement.attribute("category").setValue(book.getBookId());
                //设置书籍作者
                bookElement.element("author").setText(book.getBookAuthor());
                //设置书籍价格
                bookElement.element("price").setText(String.valueOf(book.getBookPrice()));
                //设置书籍出版年月
                bookElement.element("year").setText(new SimpleDateFormat("yyyy年MM月dd日").format(book.getBookYear()));

                saveBook(document);
                bn=true;

            }
        }
        return bn;
    }

    /**
     * 功能:根据书籍编号修改书籍
     * @param book 待修改的书籍
     * @return 修改是否成功
     */
    @SuppressWarnings("unchecked")
    public boolean updateBookById(Book book){
        boolean bn=false;
        //获取document对象
        Document document=getDocument();
        //获取根元素
        Element rootElement=document.getRootElement();
        //获取所有的书籍
        List<Element> list=rootElement.elements();
        //遍历list集合
        Iterator<Element> it=list.iterator();
        while(it.hasNext()){

            Element bookElement=it.next();
            //获取书籍编号
            String id=bookElement.attributeValue("category");
            //判断修改的是那本书
            if(id.equals(book.getBookId())){

                //设置书籍名称
                bookElement.element("title").setText(book.getBookName());
                //设置书籍作者
    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值