异常创建xml文件 [英] exception creating xml file

查看:154
本文介绍了异常创建xml文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个xml文件。当我创建文件时,我得到了这个错误。
我真的不知道它是什么。这是一个非常奇怪的错误。文件是正确创建的,但里面没有写任何内容。

 线程AWT-EventQueue-0中的异常java.lang.AbstractMethodError:gnu.xml.dom.DomDocument.getXmlStandalone()com.sun.org.apache.xalan中的Z 
。 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.jigm onitor.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(本机方法)
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();
元素rootElement = doc.createElement(performance);
doc.appendChild(rootElement);

Attr attr = doc.createAttribute(date);
attr.setValue(dateFormat.format(cal.getTime())。toString());
rootElement.setAttributeNode(attr);

//正常运行时间
元素正常运行时间= doc.createElement(正常运行时间);
rootElement.appendChild(正常运行时间);

元素天数= doc.createElement(天数);
days.appendChild(doc.createTextNode(new Long(duptime).toString()));
uptime.appendChild(天);

元素小时= doc.createElement(小时);
hours.appendChild(doc.createTextNode(new Long(huptime).toString()));
uptime.appendChild(小时);

元素分钟= doc.createElement(分钟);
minutes.appendChild(doc.createTextNode(new Long(muptime).toString()));
uptime.appendChild(分钟);

元素秒= doc.createElement(秒);
seconds.appendChild(doc.createTextNode(new Long(suptime).toString()));
uptime.appendChild(秒);

// TotalHitCount
元素totalhitcount = doc.createElement(totalhitcount);
totalhitcount.appendChild(doc.createTextNode(new Long(stats.gettotal_hit_count())。toString()));
rootElement.appendChild(totalhitcount);

// EmittedBytes
元素emitbytes = doc.createElement(emitbytes);
emitbytes.appendChild(doc.createTextNode(new Long(stats.getemitted_bytes())。toString()));
rootElement.appendChild(emitbytes);

// Avghitsec
元素avghitsec = doc.createElement(avghitsec);
avghitsec.appendChild(doc.createTextNode(new Float(stats.getavg_hit_sec())。toString()));
rootElement.appendChild(avghitsec);

// Avgbyteshit
元素avgbyteshit = doc.createElement(avgbyteshit);
avgbyteshit.appendChild(doc.createTextNode(new Long(stats.getavgbytes_hit())。toString()));
rootElement.appendChild(avgbyteshit);

// Avgbps
元素avgbps = doc.createElement(avgbps);
avgbps.appendChild(doc.createTextNode(new Long(stats.getavgbps())。toString()));
rootElement.appendChild(avgbps);

//总线程数
元素totalthreads = doc.createElement(totalthreads);
totalthreads.appendChild(doc.createTextNode(new Long(stats.gettotal_threads())。toString()));
rootElement.appendChild(totalthreads);

//空闲线程
元素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(来源,结果);

我在transfomer方法中得到了这个例外。我知道我得到了这个错误吗?

解决方案

当您运行它时,从类路径中编译代码时,在类路径上使用不同的JAR会导致某种配置问题。 / p>

I'm trying to create an xml file.when I create the file I obtain this error. I don't really know what it is.it is a really strange error.the file is created correctly but nothing is written inside it.

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)

this is the code I use to create xml file:

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);

I got that exception in transfomer method.any idea what I got this error?

解决方案

It's some kind of configuration problem caused by having different JARs on your classpath when you compiled your code from those on your classpath when you run it.

这篇关于异常创建xml文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆