// create a JAXBContext
JAXBContext jc = JAXBContext.newInstance( "org.cpcv" );
// create Java XML-bound objects
ContratoPromessaCompraVenda cpcv = new ContratoPromessaCompraVenda();
PromitenteComprador c = new PromitenteComprador();
Bi biComprador = new Bi();
biComprador.setNr(123456789);
biComprador.setArquivo("Porto");
biComprador.setEmitido(DatatypeFactory.newInstance().newXMLGregorianCalendar(2004, 12, 2, 12, 22, 11, 0, 0));
c.setBi(biComprador);
c.setMorada("Rua das Flores, 23, 4� B");
Nif nifComprador = new Nif();
nifComprador.setNr("23123122");
c.setNif(nifComprador);
c.setNome("Jos� Silva");
cpcv.setPromitenteComprador(c);
PromitenteVendedor v = new PromitenteVendedor();
Bi biVendedor = new Bi();
biVendedor.setNr(32434333);
biVendedor.setArquivo("Faro");
biVendedor.setEmitido(DatatypeFactory.newInstance().newXMLGregorianCalendar(2003, 3, 7, 12, 56, 11, 0, 0));
v.setBi(biVendedor);
v.setMorada("Rua das Farpas, 1, RC Dir");
Nif nifVendedor = new Nif();
nifVendedor.setNr("1231233277");
v.setNif(nifVendedor);
v.setNome("Pedro Antunes");
cpcv.setPromitenteVendedor(v);
Clausulas clausulas = new Clausulas();
List<Clausula> listaClausulas = clausulas.getClausula();
Clausula clau1 = new Clausula();
clau1.setNr(1);
clau1.setContent("bla");
listaClausulas.add(clau1);
Clausula clau2 = new Clausula();
clau2.setNr(2);
clau2.setContent("bla bla");
listaClausulas.add(clau2);
Clausula clau3 = new Clausula();
clau3.setNr(3);
clau3.setContent("bla bla bla");
listaClausulas.add(clau3);
cpcv.setClausulas(clausulas);
cpcv.setData(DatatypeFactory.newInstance().newXMLGregorianCalendar(2006, 7, 22, 11, 0, 0, 0, 0));
// create a Marshaller and marshal
Marshaller m = jc.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);