具体要看你采用哪套parse了,不过一般都是往OutputStream中写,你可以创建一个FileOutputStream就可以创建文件了。

解决方案 »

  1.   

    是jaxp.
    呵呵,我也有这个想法,先建立一个filepath(temp.xml).
    在文件中写入<?xml version='1.0'?>....
      factory=DocumentBuilderFactory.newInstance();
      tfactory=TransformerFactory.newInstance();
      DocumentBuilder builder=factory.newDocumentBuilder() ;
      Document doc=builder.parse(filepath) ;
    ......
    然后就甩出这个exception:
    org.xml.sax.SAXParseException: The root element is required in a well-formed document. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196) at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.java:570) at org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.endOfInput(XMLDocumentScanner.java:892) at org.apache.xerces.framework.XMLDocumentScanner.endOfInput(XMLDocumentScanner.java:418) at org.apache.xerces.validators.common.XMLValidator.sendEndOfInputNotifications(XMLValidator.java:694) at org.apache.xerces.readers.DefaultEntityHandler.changeReaders(DefaultEntityHandler.java:1026) at org.apache.xerces.readers.XMLEntityReader.changeReaders(XMLEntityReader.java:168) at org.apache.xerces.readers.UTF8Reader.changeReaders(UTF8Reader.java:182) at org.apache.xerces.readers.UTF8Reader.lookingAtChar(UTF8Reader.java:197) at org.apache.xerces.framework.XMLDocumentScanner$PrologDispatcher.dispatch(XMLDocumentScanner.java:800) at org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:195) at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:184) at workflow.database.xml.tableXML.writetableFile(tableXML.java:52) at workflow.event.database.DataListener.SaveFile(DataListener.java:75) at workflow.event.database.DataListener.actionPerformed(DataListener.java:60) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230) at java.awt.Component.processMouseEvent(Component.java:3717) at java.awt.Component.processEvent(Component.java:3546) at java.awt.Container.processEvent(Container.java:1164) at java.awt.Component.dispatchEventImpl(Component.java:2595) at java.awt.Container.dispatchEventImpl(Container.java:1213) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125) at java.awt.Container.dispatchEventImpl(Container.java:1200) at java.awt.Window.dispatchEventImpl(Window.java:912) at java.awt.Component.dispatchEvent(Component.java:2499) at java.awt.EventQueue.dispatchEvent(EventQueue.java:319) at java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)