2011-06-22 1 views
3

La lecture que j'ai faite jusqu'ici sur JAXB suggère que son utilisation est limitée aux classes de sérialisation que l'on peut annoter correctement (c'est-à-dire que l'on a la source de la classe).XmlSerialize classe de tiers utilisant JAXB

Existe-t-il un moyen d'utiliser JAXB pour sérialiser une classe tierce (c'est-à-dire dont on n'a pas la source) en utilisant la réflexion?

À ce stade, je le fais manuellement.

Répondre

0

Je ne suis pas sûr, mais vous pourriez vouloir regarder xstream (http://x-stream.github.io/) si vous essayez juste de sérialiser et de désérialiser les objets au format XML et inversement.

Salutations -Sascha-

1

Remarque: Je suis le chef de file EclipseLink JAXB (Moxy), et membre du JAXB 2 groupe d'experts (JSR-222).

EclipseLink JAXB (Moxy) offre une extension qui permet de représenter vos métadonnées au format XML permettent nécessaire lors du mappage des classes de tiers:

Exemples

<?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> 

Pour plus d'informations

Questions connexes