2017-06-26 1 views
0

Je veux désérialiser xml pojo dynamiquement en utilisant le mappeur de champ personnalisé. Par exemple, j'ai POJO:désérialiser xml 2 pojo jackson

class Person{ 
    String f1; 
    String f2; 
} 

class Mapper { 
    String getFieldXpath(String field) { 
     if(field='f1') 
      return "someXPathToFiled1"; 
     if(field='f2') 
      return "someXPathToFiled2"; 

    } 
} 
<client> 
    <age>23</age> 
    <sex>neutral</sex> 
<client> 

Ce que je veux est de cartographier le xml à POJO, pas la carte statiquement propriété aux champs de XML à l'aide des annotations jackson, mais d'utiliser mappeur, que pour f1 champ carte valeur de xpath retourné par le mappeur

Répondre

0

Pourriez-vous spécifier plus de détails sur ce que vous voulez faire?

je devrais utiliser JAXB et XJC comme ceci:

https://www.thoughts-on-java.org/generate-your-jaxb-classes-in-second/

+0

J'ai lu et xml. Ensuite, vous voulez peupler pojo avec des valeurs du xml. Quand j'utilise une anotation jackson, il lie statiquement un nom de champ xml au champ pojo. Je veux plutôt utiliser une classe qui, au cours de la pojo, fournira le xpath au champ approprié dans xml. Alors je n'aurai pas à changer d'annotation, mais seulement ma classe de 'mapping' – omali