[RESOLVIDO] JAXB unir dois xml

Boa tarde,

É possivel unir partes de um xml em um local especifico de outro xml?
Ex:
xml1

<DadosPessoais>
  <nome>Jose da Silva</nome>
  <cpf>00000000000</cpf>
//.....
</DadosPessoais>

xml2

<Endereco>
  <rua>Rua dos pinheiros</rua>
//.....
</Endereco>

os dois xml acima iria dentro do xml abaixo

<Registro>
<Registro>

Você vai precisar criar 3 classes. Onde uma representa o mapeamento do XML “dados especiais”, a segunda do mapeamento “endereco” e por ultimo uma classe que contenha um atributo referente a cada classe anteriormente mapeada.

Bom dia Romarcio,

Acredito que nao fui bem claro, essa parte que voce me falou consegui fazer,
tenho um total de cinco class que faz o que preciso,
seria um Factor.class, Header.class, CorpoHeader.class,Body.class,CorpoBody.class.
gerando um xml assim:

<factor>
  <header>
    <corpoHeader>
    </corpoHeader>
  </header>
    <body>
      <corpoBody>
      </corpoBody>
    </body>
</factor>

esse xml é fixo gerado acima é fixo,

entao preciso colocar os dados entre as tags corpoHeader e corpoBody

Continua sendo a mesma lógica. Você vai precisar ter uma classe que represente cada uma dessas tags e em cada classe adicionar os objetos que representam os dados (tags filhas).

Ou então você pode passar para algo mais manual, sem usar o JAXB. Poderia tentar o JDOM, onde você não cria as tags se baseando em classes anotadas. Mas é mais trabalhoso, porém mais manipulavel.
De uma olhada nesse tutorial http://www.mballem.com/post/manipulando-arquivo-xml-parte-ii-jdom

Com essa solução, se eu tiver “n” corpoBody diferente, eu teria que fazer as class citadas varias vezes,

Com JAXB tudo é baseado em classes, ou seja, todas as tags pais são classes. Se você tiver várias tags pais diferentes, vai precisar ter uma classe para cada uma delas. Não tem como fugir disso.
Agora, se sua tag pai é mesma em varias partes do XML, mas apenas com as tags filhas diferentes, basta apenas manipular os objetos Java.

Entao é isso Romarcio que não estou sabendo fazer,
Fiz uma solução onde uso uma tag como marcação e faço um replace pra fazer o xml final,
so que não axei que fosse uma solução agradavel.

Voce tem outra forma de fazer?

[quote=campelo.m]Entao é isso Romarcio que não estou sabendo fazer,
Fiz uma solução onde uso uma tag como marcação e faço um replace pra fazer o xml final,
so que não axei que fosse uma solução agradavel.

Voce tem outra forma de fazer?[/quote]
Da uma olhada nesse tutorial http://www.mballem.com/post/xml-trabalhando-com-jaxb.

Consegui resolver da seguinte forma:

        @XmlAnyElement
	private T t;

Assim o objeto que passar, pega todas as anotações e passa pro xml principal, sem criar uma nova tag…