【发布时间】:2015-05-02 20:47:35
【问题描述】:
我正在尝试将一个对象整合到 org.w3c.dom.Element,但它不起作用。 这是我的代码:
public static org.w3c.dom.Element writeXMLElement(Object nf) {
JAXBContext context;
try {
context = JAXBContext.newInstance(Rodo.class);
Marshaller marshaller = context.createMarshaller();
org.w3c.dom.Element retorno = new org.w3c.dom.Element() {
...
};
marshaller.marshal(nf, retorno);
return retorno;
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
如果我编写 XML 文件,它可以正常工作。但是对于 Element 我得到这个错误:
线程“main”中的异常 java.lang.NullPointerException 在 com.sun.xml.internal.bind.marshaller.SAX2DOMEx.startElement(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.output.SAXOutput.endStartTag(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.XMLSerializer.endAttributes(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsSoleContent(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.XMLSerializer.childAsRoot(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(未知来源) 在 com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(未知来源) 在 javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(未知来源) 在 XMLWriter.writeXMLElement(XMLWriter.java:388) 在 HTMLCTeParse.getCTeBean(HTMLCTeParse.java:339) 在 GeraCTe.main(GeraCTe.java:12)
有人知道怎么解决吗? 谢谢! Br
【问题讨论】:
-
您确定
Object nf不是null? -
如果您将同一个实例编组到
System.out,而不是 XML 是什么样的,或者您仍然收到错误? -
Marshal to System.out 工作正常....
标签: java jaxb marshalling