Ola pessoal,
Preciso ler um xml de estrutura desconhecida em java. O que devo utilizar? XStream e outros já vi que não da. Já não sei mais o que tentar. Todos os exemplos que encontramos por ai, são xml perfeitos.
Obrigado desde já.
Abraço
Ola pessoal,
Preciso ler um xml de estrutura desconhecida em java. O que devo utilizar? XStream e outros já vi que não da. Já não sei mais o que tentar. Todos os exemplos que encontramos por ai, são xml perfeitos.
Obrigado desde já.
Abraço
Mas o que tu vai fazer com o xml? Normalmente você vai precisar da estrutura dele né. Se seu programa espera um como q tu vai receber um e funcionar?
Bem, de qualquer forma é bem possível que o SAX resolva teu problema, ele resolve quase tudo 
O que é um XML “perfeito” e um de estrutura desconhecida?
Se um XML não é válido, não é válido e acabou - ele não é XML. Um exemplo de um XML não válido é um arquivo onde as tags não terminam, ou outro em que há caracteres < > & “soltos”, sem estarem em um tag CDATA .
No seu caso, você tem de usar alguma coisa como DOM (se o XML não for muito grande - use o JDOM, DOM4J ou mesmo as classes do JDK), ou SAX (se você for muito cuidadoso e entender diretinho como é que funciona o SAX), ou mesmo STAX (que é bem rápido e relativamente fácil de compreender - pelo menos é bem mais fácil de entender que o SAX).
Aprenda também a usar XPath. É a maneira mais fácil de acessar dados dentro do XML, já que trabalha com ele mais ou menos como se o XML fosse composto de diretórios e arquivos, pois tem uma estrutura de árvore.
Acho que o que eu estou precisando mesmo XPath.
Porque no xml que vou ler, só algumas informacoes me intereSSam, então eu queria percorrer uma arvore, atrás somente dos elementos que me interessam, entendeu? Vou ler sobre XPath agora.
Obrigado,
Abraço
Por exemplo,
O XML que eu vou ler, pode ter ate 1000 tags diferentes,
dessas 1000, eu quero somente 5, com seus atributos.
Sendo que nao conheco quais sao as outra 995 tags.
Espero que esteja me expressando bem.
Abraço
Cara, use o JColtrane (http://sourceforge.net/projects/jcoltrane/) que você resolve isso numa classe só de maneira bem fácil. Tem tutorial em português. Se você colocasse um xml como exemplo eu mostraria a solução. É bem mais simples de mexer que o SAX e não mantém o arquivo todo em memória.