/** * 添加XML文件指定信息 */ public static void AddXML(HttpServletRequest request) throws Exception { FileInputStream fi = null; FileOutputStream fo = null; try { request.setCharacterEncoding("GBK"); String path = request.getParameter("path"); fi = new FileInputStream(path); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(fi); Element root = doc.getRootElement(); // 得到根元素 List books = root.getChildren(); // 得到根元素所有子元素的集合 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 newbook = new Element("书"); Element newname = new Element("书名"); newname.setText(bookname); newbook.addContent(newname); Element newauthor = new Element("作者"); newauthor.setText(author); newbook.addContent(newauthor); Element newpub = new Element("出版社"); newpub.setText(pub); newbook.addContent(newpub); Element newprice = new Element("价格"); newprice.setText(price); newbook.addContent(newprice); Element newdate = new Element("出版日期"); newdate.setText(pubdate); newbook.addContent(newdate); books.add(newbook);// 增加子元素 // String indent = " "; // boolean newLines = true; // XMLOutputter outp = new XMLOutputter(indent, newLines, "GBK"); Format format = Format.getPrettyFormat(); format.setIndent(" "); format.setEncoding("utf-8"); XMLOutputter outp = new XMLOutputter(format); 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 EditXML(HttpServletRequest request) throws Exception { FileInputStream fi = null; FileOutputStream fo = null; try { request.setCharacterEncoding("GBK"); 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(); // 得到根元素所有子元素的集合 Element book = (Element) books.get(xmlid); 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"); Format format = Format.getPrettyFormat(); format.setIndent(" "); format.setEncoding("utf-8"); XMLOutputter outp = new XMLOutputter(format); 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(); } } } } |