Compte tenu de la classe suivante:personnalisé JAXB sortie xml
public class Customer {
public String name;
public String lastName;
}
Je veux générer la sortie XML suivante à l'aide JAXB pour un client dont name
est John et lastName
est Doe:
<cst>John Doe</cst>
Comment Je fais ça avec JAXB?
EDIT
La classe Customer
est utilisé dans plusieurs endroits, comme indiqué ici:
public class Sale {
private String productId;
private Date date;
private Customer customer;
}
public class Transaction {
private List<Sale> sales;
}
... et ainsi de suite ... L'accord est, comment puis-je dire JAXB: "chaque fois que vous voyez un client, veuillez utiliser un formatage personnalisé"?
Mon problème est qu'il ya beaucoup de classes qui contiennent un client, et je veux contrôler programatically la sortie (parfois name + lastname
, parfois <name>name</name>
, <lastname>lastname</lastname>
) sans ajout d'annotations à chaque classe qui contient Customer
. Cette exigence exclurait l'utilisation de JAXBElement<Customer>
.
Merci pour votre réponse, cela me rapprochent de mon objectif ... seriez-vous assez aimable pour voir mon edit? J'ai trop simplifié ma question initiale. Merci! – chahuistle
Ceci est une exigence étrange. Vous pouvez créer des sous-classes de 'Customer' pour chaque type de marshaling et fournir un' XmlAdapter' pour chacun d'eux, mais je ne sais pas si cela fonctionne. – musiKk
s'avère que votre solution fonctionne hors de la boîte ... en utilisant @XmlAdapter rend la magie se produire. – chahuistle