JAXB e meu XML

7 respostas
UpTheIrons

Olá pessoal,

Iniciando meu projeto NFe (bem atrasado e em caráter de urgência), comecei a pesquisar algumas soluções
para gerar meu XML.

Vi alguns exmplos aqui no forum e em outros lugares. E me parece q o JAXB seria a solução mais simples,
eu n sei o tipo de limitação que vou encontrar, além do problema da tag “ns2” que tb já vi solução aqui mesmo
no forum.

Segue abaixo minhas classes (sem os metódos getters e setters por questão de economia de espaço)

@XmlRootElement()
public class Pessoa {

    private String nome;
    private String sobrenome;
    private Endereco endereco;
public class Endereco {

    private String cidade;
    private String bairro;

A classe q gera o arquivo XML.

Endereco en = new Endereco();
            en.setBairro("Centro");
            en.setCidade("Eunápolis");
            Pessoa p = new Pessoa();

            p.setNome("João");
            p.setSobrenome("Luis");
            p.setEndereco(en);

            JAXBContext context = JAXBContext.newInstance("br.com.yeld.ynfe.pojo");

            File f = new File("pessoa.xml");
            this.ajustaXml(f);
            Marshaller m2 = context.createMarshaller();
            m2.marshal(p, new FileOutputStream(f));

XML Gerado

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> Centro Eunápolis João Luis

O problema é a ordem, como fazer para NOME e SOBRE nome aparecerem antes de ENDERECO?

Ou então, se com JAXB é realmente uma boa saída para o meu problema.

Falew!

7 Respostas

S

Blz,

Vc pode utilizar a anotação propOrder,

veja detalhes em http://java.sun.com/webservices/docs/2.0/tutorial/doc/JAXBUsing5.html

UpTheIrons

Opa, xo checar!

UpTheIrons

Shibby,

Blz, funcionou!

Só mais uma dúvida, aproveitar q vc tá ON :), eu to fazendo na mão grande as classes, mas eu andei lendo
q o JAXB gera as classe a partir de um XSD correto? Se sim, eu tentei, fiz a vinculação, mas o q ele fez foi
trazer o shcema para o ambiente (NetBeans), é por aí mesmo?

UpTheIrons

Shibby,

Já consegui gerar aqui, agora vou tentar entender *rrr

Falew, brigadão!

guisantogui

gente desculpa ressucitar o tópico, mas eu preciso exatamente da mesma coisa, a única diferença é que eu ainda não gerei nenhum XML vou tentar seguir o exemplo acima, se tiverem alguma dica ou modelo, será bem vindo!

UpTheIrons

Tranquilo, pois eu “morri” junto com o tópico e devo ressucitar agora *r
Tive q parar com o desenvolvimento, por diversos problemas particulares, e após
mais de 1 ano (nossa1), resolvi voltar e tentar voltar com o projeto.

JoaoBluSCBR

Tópico morreu novamente??? kkkkk

Vamos ressucitar !!!

Bem você tem o arquivo xsd que é o schema do XML.

No NetBeans você vai em Arquivo -> Novo Arquivo -> XML -> Vinculação JAXB

Dá um nome para a vinculacao, indica o arquivo xsd e manda finalizar.

O xsd aparace numa pasta chamada Vinculações do JAXB

e… bem apagadinho… aparece uma pasta Códigos-fonte gerados (jaxb)

e dentro dela todos os códigos java com as classes dos tipos usados no xsd.

Muito legal. Uma trabalheira a menos.

E agora…

Pelo que entendi, tenho que criar um objeto de uma dessas classes e usar os sets e gets para povoar esse objeto.

Mas daí em diante, como faço para gerar o XML???

Criado 10 de julho de 2009
Ultima resposta 28 de jun. de 2011
Respostas 7
Participantes 4