到目前为止,我在JAXB上所做的阅读表明,它的用法仅限于序列化可以正确注释的类(即一个具有类的源代码)。
有没有办法使用JAXB来序列化第三方类(即一个没有源代码)使用反射?
此时,我正在手动执行此操作。
答案 0 :(得分:1)
注意:我是EclipseLink JAXB(MOXy)的负责人,也是JAXB 2(JSR-222)专家组的成员。
EclipseLink JAXB(MOXy)提供了一个扩展,使您能够将您的元数据表示为XML允许,这在映射第三方类时是必需的:
<强>示例强>
<?xml version="1.0"?>
<xml-bindings
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="blog.bindingfile">
<xml-schema
namespace="http://www.example.com/customer"
element-form-default="QUALIFIED"/>
<java-types>
<java-type name="Customer">
<xml-root-element/>
<xml-type prop-order="firstName lastName address phoneNumbers"/>
<java-attributes>
<xml-element java-attribute="firstName" name="first-name"/>
<xml-element java-attribute="lastName" name="last-name"/>
<xml-element java-attribute="phoneNumbers" name="phone-number"/>
</java-attributes>
</java-type>
<java-type name="PhoneNumber">
<java-attributes>
<xml-attribute java-attribute="type"/>
<xml-value java-attribute="number"/>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>
了解更多信息
答案 1 :(得分:0)
我不确定,但如果您只是尝试将对象序列化和反序列化为XML并返回,那么您可能需要查看xstream(http://x-stream.github.io/)。
问候 -Sascha -