我正在尝试创建一个xml文件。当我创建该文件时,出现此错误。我真的不知道它是什么。这是一个非常奇怪的错误。文件创建正确,但是里面没有任何内容。
Exception in thread "AWT-EventQueue-0" java.lang.AbstractMethodError: gnu.xml.dom.DomDocument.getXmlStandalone()Z
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.setDocumentInfo(DOM2TO.java:377)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:131)
at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(DOM2TO.java:98)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:683)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:727)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:340)
at org.w3c.jigmonitor.controller.Controller.writePerformancesXmlFile(Controller.java:191)
at org.w3c.jigmonitor.controller.Controller.actionPerformed(Controller.java:68)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:703)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:676)
at java.awt.EventQueue$4.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:673)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
这是我用来创建xml文件的代码:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("performances");
doc.appendChild(rootElement);
Attr attr = doc.createAttribute("date");
attr.setValue(dateFormat.format(cal.getTime()).toString());
rootElement.setAttributeNode(attr);
//Uptime
Element uptime = doc.createElement("uptime");
rootElement.appendChild(uptime);
Element days = doc.createElement("days");
days.appendChild(doc.createTextNode(new Long(duptime).toString()));
uptime.appendChild(days);
Element hours = doc.createElement("hours");
hours.appendChild(doc.createTextNode(new Long(huptime).toString()));
uptime.appendChild(hours);
Element minutes = doc.createElement("minutes");
minutes.appendChild(doc.createTextNode(new Long(muptime).toString()));
uptime.appendChild(minutes);
Element seconds = doc.createElement("seconds");
seconds.appendChild(doc.createTextNode(new Long(suptime).toString()));
uptime.appendChild(seconds);
//TotalHitCount
Element totalhitcount = doc.createElement("totalhitcount");
totalhitcount.appendChild(doc.createTextNode(new Long(stats.gettotal_hit_count()).toString()));
rootElement.appendChild(totalhitcount);
//EmittedBytes
Element emittedbytes = doc.createElement("emittedbytes");
emittedbytes.appendChild(doc.createTextNode(new Long(stats.getemitted_bytes()).toString()));
rootElement.appendChild(emittedbytes);
//Avghitsec
Element avghitsec = doc.createElement("avghitsec");
avghitsec.appendChild(doc.createTextNode(new Float(stats.getavg_hit_sec()).toString()));
rootElement.appendChild(avghitsec);
//Avgbyteshit
Element avgbyteshit = doc.createElement("avgbyteshit");
avgbyteshit.appendChild(doc.createTextNode(new Long(stats.getavgbytes_hit()).toString()));
rootElement.appendChild(avgbyteshit);
//Avgbps
Element avgbps = doc.createElement("avgbps");
avgbps.appendChild(doc.createTextNode(new Long(stats.getavgbps()).toString()));
rootElement.appendChild(avgbps);
//Total Threads
Element totalthreads = doc.createElement("totalthreads");
totalthreads.appendChild(doc.createTextNode(new Long(stats.gettotal_threads()).toString()));
rootElement.appendChild(totalthreads);
//Idle Threads
Element idlethreads = doc.createElement("idlethreads");
idlethreads.appendChild(doc.createTextNode(new Long(stats.getidle_threads()).toString()));
rootElement.appendChild(idlethreads);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transfomer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("/home/mazzy/Scrivania/perfor_"+dateFormat.format(cal.getTime()).toString()+".xml"));
transfomer.transform(source, result);
我在transfomer method中遇到了异常。知道我得到了什么错误吗?
当面对选择抛出异常的类型时,您可以使用由别人编写的异常 - Java平台提供了许多可以使用的异常类 - 或者您可以编写自己的异常类。 如果您对任何以下问题回答“是”,您应该编写自己的异常类;否则,你可以使用别人的。 你需要一个Java平台中没有表示的异常类型吗? 如果用户能够区分你的异常与由其他供应商编写的类抛出的异常吗? 你的代码是否抛出不止一个相关的异常? 如果您使用他人的例外,用户是否可以访
打开“新建XML文件”向导 您可以使用“新建XML文件”向导来创建XML文件。 要调用此向导 - 单击文件菜单,然后选择新建→其他或 单击新下拉框( )选择其他或 按ctrl + N. 一旦出现选择向导对话框 - 在过滤器文本框中输入xml,这应该只显示与xml相关的向导。 展开XML类别并选择XML文件。 单击Next以打开New XML File向导。 Note 如果打开XML透视图,则可以通
我对如何做到这一点有点困惑,所有的文档/示例都展示了如何读取和编辑xml文档,但似乎没有任何从头开始创建xml的明确方法,我宁愿不必将我的程序与虚拟xml文件一起发布以编辑一个。有什么想法吗?谢谢。
主要内容:打开新建XML文件向导,新建XML文件,查看新建的XML文件打开新建XML文件向导 您可以使用新建 XML 文件向导来创建 XML 文件。调用这个向导 : 单击“File”菜单并选择“New”→“Other”或 单击新的下拉框 ( ) 选择其他或 按 ctrl + N 一旦出现选择向导对话框 : 在过滤器文本框中输入 xml,这应该只显示与 xml 相关的向导。 展开 XML 类别并选择 XML 文件。 单击“下一步”以打开“新建 XML 文件”向导。 如
打开新建 XML 文件向导 你可以使用新建 XML 文件向导来创建 XML 文件。打开向导的方式有: 点击 File 菜单并选择 New > Other 点击新建下拉框 () 选择 Other 快捷键组合: ctrl + N 在向导对话框中可以进行以下操作: 在输入框中输入 XML,会显示关联 XML 的向导 在展开的 XML 类别中选择 XML 文件 点击 Next 按钮进入新建 XML 文件向
例子 (Demo Example) 这是我们需要创建的XML - <?xml version = "1.0" encoding = "UTF-8"?> <cars> <supercars company = "Ferrari"> <carname type = "formula one">Ferrari 101</carname> <carname type = "s