Dom4j 使用方法(一)

来源:互联网 发布:球球大作战php源码 编辑:程序博客网 时间:2024/06/06 03:59
public static void main(String[] args) {String path = Test01.class.getResource("").getFile().substring(1);createXMLFile(path + "test_create.xml");System.out.println("write xml finished!");modiXMLFile(path + "test_create.xml", path + "test_update.xml");System.out.println("modify xml finished!");}public static int createXMLFile(String filename) {int returnValue = 0;Document document = DocumentHelper.createDocument();Element booksElement = document.addElement("books");booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");// book1Element bookElement = booksElement.addElement("book");bookElement.addAttribute("show", "yes");Element titleElement = bookElement.addElement("title");titleElement.setText("Dom4j Tutorials");// book2bookElement = booksElement.addElement("book");bookElement.addAttribute("show", "yes");titleElement = bookElement.addElement("title");titleElement.setText("Lucene Studing");// book3bookElement = booksElement.addElement("book");bookElement.addAttribute("show", "no");titleElement = bookElement.addElement("title");titleElement.setText("Lucene in Action");Element ownerElement = booksElement.addElement("owner");ownerElement.setText("O'Reilly");try {XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));writer.write(document);writer.close();returnValue = 1;} catch (Exception ex) {ex.printStackTrace();}return returnValue;}public static int modiXMLFile(String filename, String newfilename) {int returnValue = 0;try {SAXReader saxReader = new SAXReader();Document document = saxReader.read(new File(filename));List list = document.selectNodes("/books/book/@show");Iterator iter = list.iterator();while (iter.hasNext()) {Attribute attribute = (Attribute) iter.next();if (attribute.getValue().equals("yes")) {attribute.setValue("no");} else if(attribute.getValue().equals("no")) {attribute.setValue("yes");}}list = document.selectNodes("/books/owner");iter = list.iterator();if (iter.hasNext()) {Element ownerElement = (Element) iter.next();ownerElement.setText("");Element ne = ownerElement.addElement("name");ne.setText("Tshinghua");Element dateElement = ownerElement.addElement("date");dateElement.setText("2004-09-11");dateElement.addAttribute("type", "Gregorian calendar");} list = document.selectNodes("/books/book");iter = list.iterator();while (iter.hasNext()) {Element bookElement = (Element) iter.next();Iterator iterator = bookElement.elementIterator("title");while (iterator.hasNext()) {Element titleElement = (Element) iterator.next();if (titleElement.getText().equals("Dom4j Tutorials")) {bookElement.remove(titleElement);}}}try { XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)));writer.write(document);writer.close();returnValue = 1;} catch (Exception ex) {ex.printStackTrace();}} catch (Exception ex) {ex.printStackTrace();}return returnValue;}

原创粉丝点击