برای این کار کتابخانه های زیادی در جاوا وجود دارد، به نظر من JAXB که درون JDK قرار دارد (از نسخه JDK 6 ) بهترین گزینه است چون نیازی به استفاده از کتابخانه خارجی وجود ندارد. کلاس زیر یک POJO است:
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class CreditCard {
private String number;
private String expiryDate;
private Integer controlNumber;
private String type;
public CreditCard(String number, String expiryDate, Integer controlNumber, String type) {
this.number = number;
this.expiryDate = expiryDate;
this.controlNumber = controlNumber;
this.type = type;
}
public CreditCard() {
}
.
.
.
//getter and setter
}
با استفاده از کد زیر می توانیم یک شئ ار کلاس CreditCard را به XML تبدیل کنیم:
public static void main(String[] args) {
try {
CreditCard creditCard = new CreditCard("1234", "12/09", 6398, "Visa");
StringWriter writer = new StringWriter();
JAXBContext context = JAXBContext.newInstance(CreditCard.class);
Marshaller m = context.createMarshaller();
m.marshal(creditCard, writer);
System.out.println(writer.toString());
} catch (JAXBException ex) {
ex.printStackTrace();
}
}
در بین کتابخانه های خارج از JDK نیز xstream گزینه خوبی است.