Unir XMLs  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Tem como unir 2 ou mais xmls em um?
Sendo que não queria criar arquivos, queria fazer tudo com objetos.

www.bau-de-dev.com
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Hum - que tipo de união você quer fazer?

* Pôr ambos os documentos sob o mesmo <root>. Exemplo:

Documento 1:
<ab></ab>

Documento 2:
<cd></cd>

Resultado possível:
<root><ab></ab><cd></cd></root>

* Supondo que o elemento root de ambos os documentos é o mesmo, pôr os tags filhos sob o mesmo root. Exemplo:
Documento 1:
<ab><xy></xy></ab>

Documento 2:
<ab><zw></zw></ab>

Resultado possível:
<ab><xy></xy><zw></zw></ab>

Note que ambos os tipos de concatenação requerem apenas usar o DOM e lidar com eles, para criar um terceiro XML.
[WWW]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Eu gostaria de fazer a primeira situação que você falou.
Eu estou usando a API da Commons Configuration da Apache para trabalhar com XML, teria como fazer isso com esta API?

www.bau-de-dev.com
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

A Commons Configuration é para lidar com configurações.

Pelo que estou imaginando, você precisa ler isto aqui:

http://commons.apache.org/configuration/userguide/howto_compositeconfiguration.html#Composite_Configuration_Details

Não estou vendo nada nessa biblioteca que sirva para criar um XML.


[WWW]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Qual API foi sugere, para que eu possa fazer essa união de XMLs?

www.bau-de-dev.com
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Fui fazer uma pesquisa depois de ler a especificação de Commons Configuration e agora estou usando DOM para tentar unir dois ou mais xmls.
Estou fazendo uns com as classe que a JVM oferece. O meu código está assim:



Quando o código chega na última linha eu recebo este erro:


O que está acontecendo?

www.bau-de-dev.com
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

Cara, uma sugestão é usar a XStream. Gostei muito dessa joça.

Agrega uma/várias classe(s) Document numa classe Root e seja feliz.

http://xstream.codehaus.org/

Abraços.

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
Jedi_FeniX
Virtual Machine Man
[Avatar]

Membro desde: 26/04/2007 14:32:30
Mensagens: 586
Offline

Não entendi a sua sugestão, no final eu tenho que ter um objeto DOM, com os XMLs concatenados e não um objeto XStream.

www.bau-de-dev.com
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

Jedi_FeniX wrote:Não entendi a sua sugestão, no final eu tenho que ter um objeto DOM, com os XMLs concatenados e não um objeto XStream.


Agora quem não entendeu fui eu. Você disse:

"Sendo que não queria criar arquivos, queria fazer tudo com objetos."


Bem, se você precisa de uma estrutura de objetos, esquece o o XStream e todos as outras APIs e trabalha apenas com os objetos agregados.



Agora se precisa do XML, o XStream vai montar a estrutura para você. Não precisa gerar um arquivo. Pode usar a String (XML) em memória.

Agora se é obrigado a usar DOM, dá uma olhada aqui: http://www.guj.com.br/posts/list/2094.java

Abraços.

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team