private int id;
private String descricao;
private double preco;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public double getPreco() {
return preco;
}
public void setPreco(double preco) {
this.preco = preco;
}
}[/code]
public class ProdutoTeste {
public static void main(String[]args) {
JAXBContext context;
try {
Produto p = new Produto();
p.setId(1);
p.setDescricao("TV Alta definição");
p.setPreco(1500);
context = JAXBContext.newInstance(Produto.class);
JAXBElement<Produto> element = new JAXBElement<Produto>(new QName("produto"),
Produto.class, p);
Marshaller marshaller = context.createMarshaller();
//propriedades de JAXB
//JAXB_FORMATTED_OUTPUT - formatacao linhas uma debaixo da outra
//JAXB_ENCODING - encoding
//JAXB_FRAGMENT - retira a 1ª linha do xml
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_ENCODING,"ISO-8859-1");
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
ByteArrayOutputStream output = new ByteArrayOutputStream();
marshaller.marshal(element, output);
System.out.println(output);
} catch (JAXBException e) {
e.printStackTrace();
}
}
Resultado:
<produto xmlns:ns2="http://www.locadora.com.br/ajato/cic">
<descricao>TV Alta definição</descricao>
<preco>1500.0</preco>
<id>1</id>
</produto>