** * 對xml文件進行操作的類 */ package com.mysoft.test; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; public class Dom4jTest { public Dom4jTest(){ } public int createXmlFile(String fileName){ int flag=0; Document document = DocumentHelper.createDocument(); Element booksElement = document.addElement("books"); booksElement.addComment("This is a test for dom4j,shanren,2008.8.29"); Element bookElement = booksElement.addElement("book"); bookElement.addAttribute("show", "yes"); Element titleElement = bookElement.addElement("title"); titleElement.setText("Dom4j Tutorials"); bookElement = booksElement.addElement("book"); bookElement.addAttribute("show","no"); titleElement = bookElement.addElement("title"); titleElement.setText("Sucene studing"); bookElement = booksElement.addElement("book"); bookElement.addAttribute("show", "yes"); 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(); flag = 1; } catch (Exception e) { flag = 0; e.printStackTrace(); // TODO: handle exception } return flag; } public int modifyXMLFile(String fileName,String newFileName){ int flag=0; try { SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File(fileName)); List list = document.selectNodes("//books/book/@show"); Iterator it= list.iterator(); while(it.hasNext()){ Attribute attribute = (Attribute)it.next(); if(attribute.getValue().equals("yes")) attribute.setValue("no"); } list = null; list = document.selectNodes("//books/owner"); it = null; it = list.iterator(); if(it.hasNext()){ Element ownerElement =(Element)it.next(); ownerElement.setText("Tshiinghua"); Element dateElement = ownerElement.addElement("date"); dateElement.setText("2004-09-11"); dateElement.addAttribute("type", "Gregorian calendar"); } list = null; list = document.selectNodes("//books/book"); it = null; it = list.iterator(); while(it.hasNext()){ Element bookElement = (Element)it.next(); Iterator<Element> it2=bookElement.elementIterator("title"); while(it2.hasNext()){ Element titleElement = it2.next(); if(titleElement.getText().equals("Dom4j Tutorials")){ bookElement.remove(titleElement); |
} |