public class CreateXML { //DOM方式创建XML文件 public void DOMcreateXML() { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder db = null; try { db = factory.newDocumentBuilder(); Document document = db.newDocument(); document.setXmlStandalone(true); Element bookstore = document.createElement("bookstore"); Element book = document.createElement("book"); Element name = document.createElement("name"); name.setTextContent("<c++>"); book.setAttribute("id", "three"); book.appendChild(name); bookstore.appendChild(book); document.appendChild(bookstore); TransformerFactory tff = TransformerFactory.newInstance(); Transformer tf = tff.newTransformer(); tf.setOutputProperty(OutputKeys.INDENT, "yes"); tf.transform(new DOMSource(document), new StreamResult(new File("res/books2.xml"))); }catch (ParserConfigurationException e1) { e1.printStackTrace(); }catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (TransformerException e) { e.printStackTrace(); } } //SAX生成XML文件 public void SAXCreateXML() { SAXTransformerFactory tff = (SAXTransformerFactory)SAXTransformerFactory.newInstance(); try { TransformerHandler handler = tff.newTransformerHandler(); Transformer tf = handler.getTransformer(); tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); tf.setOutputProperty(OutputKeys.INDENT, "yes"); File f = new File("res/newbooks.xml"); if(!f.exists()) { f.createNewFile(); } Result result = new StreamResult(new FileOutputStream(f)); handler.setResult(result); handler.startDocument(); AttributesImpl attr = new AttributesImpl(); handler.startElement("", "", "bookstore",attr); attr.clear(); attr.addAttribute("", "", "id", "", "one"); handler.startElement("", "", "book", attr); attr.clear(); handler.startElement("", "", "name", attr); handler.characters(new char[]{'<','c','>'}, 0, "<c>".length()); handler.endElement("", "", "name"); handler.endElement("", "", "book"); handler.endElement("", "", "bookstroe"); handler.endDocument(); } catch (TransformerConfigurationException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } } //DOM4J创建XML public void DOM4JCreateXML() { org.dom4j.Document document = DocumentHelper.createDocument(); org.dom4j.Element rss = document.addElement("rss"); rss.addAttribute("version", "2.0"); org.dom4j.Element channel = rss.addElement("channel"); org.dom4j.Element title = channel.addElement("title"); title.setText("国内新闻"); OutputFormat format = OutputFormat.createPrettyPrint(); //生成文件 File file = new File("res/rssbooks.xml"); XMLWriter writer; try { writer = new XMLWriter(new FileOutputStream(file),format); writer.setEscapeText(false); writer.write(document); writer.close(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //JDOM创建XML public void JDOMCreateXML() { org.jdom2.Element rss = new org.jdom2.Element("rss"); rss.setAttribute("version", "2.0"); //生成一个document对象 org.jdom2.Document document = new org.jdom2.Document(rss); org.jdom2.Element channel = new org.jdom2.Element("channel"); rss.addContent(channel); org.jdom2.Element title = new org.jdom2.Element("title"); title.setText("国内新闻"); channel.addContent(title); //创建XMLoutputer对象 Format format = Format.getCompactFormat(); format.setIndent(""); format.setEncoding("utf-8"); XMLOutputter outputer = new XMLOutputter(format); //利用outputer将document对象转换成xml文档 try { outputer.output(document, new FileOutputStream(new File("res/jdom.xml"))); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }