我正在测试 MOXy 2.5.0 RC1。
我将以下内容编组为一个字符串:
<c r="C3" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<v>20</v>
</c>
它由https://github.com/plutext/docx4j/blob/master/src/xlsx4j/java/org/xlsx4j/sml/Cell.java表示
注意没有任何 @XmlRootElement 注释
使用参考实现,结果正如预期的那样:
javax.xml.bind.MarshalException
- with linked exception:
[com.sun.istack.internal.SAXException2: unable to marshal type "org.xlsx4j.sml.Cell" as an element because it is missing an @XmlRootElement annotation]
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:317)
at com.sun.xml.internal.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:243)
at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:96)
at org.docx4j.XmlUtils.marshaltoString(XmlUtils.java:507)
使用 MOXy,结果是:
<v>20</v>
这是一个已知的问题?我还没有尝试过 2.4.2 RC1。
谢谢..