[XStream] Ler xml com + de 1 tag principal

1 resposta
renanpto

Boa Tarde,

Estou utilizando XStream para ler um xml que possui mais de um tag principal (não havendo a arvore correta).

<?xml version="1.0" encoding="UTF-8"?>
<tag1>aaaaa</tag1>
<tag2>bbbb</tag2>
<tag3>bbbbb</tag3>

Como voces podem ver, nao existem uma tag “tags” que envolveria todas as filhas.

Causando esse erro ao rodar o programa:

[Fatal Error] :49:2: The markup in the document following the root element must be well-formed. Exception in thread "main" com.thoughtworks.xstream.io.StreamException: : The markup in the document following the root element must be well-formed. at com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:86) at com.thoughtworks.xstream.io.xml.DomDriver.createReader(DomDriver.java:70)

A solucao seria mudar a estrutura do xml, adicionando uma unica tag principal. O problema que não posso alterar esse xml.
Exatamente o mesmo problema encontrei aqui, mas a solucao proposta eu não posso adotar.

Como tive esse problema com XStream, a solucao seria adota um outro framework ou interpretar o xml na mão (coisa que nao queria fazer).
Peço por dicas do pessoal que já teve alguma problema semelhante e o que fez para contorná-lo.

Obrigado,

1 Resposta

romarcio

Você pode tentar a biblioteca JDOM.
Mas não tenho certeza se vai conseguir.
Sempre se usa uma tag root, e as demais dentro desta. É assim que as APIs de xml funcionam.

Criado 27 de maio de 2011
Ultima resposta 27 de mai. de 2011
Respostas 1
Participantes 2