XStream ignorando TAGs

Pessoal,

Preciso ler um XML gerado por um software, mas deste XML só me interessam algumas informações. Entretanto, ao usar o XStream para fazer o parse, e gerar a minha árvore de objetos, ele está exigindo que eu mapeie todas as ocorrencias de TAG do XML.

É possível eu fazer com que ele ignore as TAGs que nao me interessam?

Att.

ceduardo.roque

Pessoal,

Desisti de usar o XStream. Cheguei à conclusão de que ele é mais útil quando temos um XML com TAGs com pouca variação (ou eu não conheço todas as suas features :frowning: ). O fato é que eu testei de tudo quanto é jeito, e resolvi fazer um SAXParser mesmo, e tratar isoladamente as TAGs que me interessam. :lol:

Abraços!

ceduardo.roque

Puxa, é só criar um conversor no xstream…

Hum… achei que o conversor fosse pra outra coisa… :?:

Pois caso eu nao mapeasse no XStream cada tag, ele me retornava uma excessão… e como eu nao queria ficar olhando tag a tag no arquivo, eu fiz um SaxParser, onde eu controlo quando entra numa tag e sai dela, e eu pego os atributos que me interessam… por exemplo:

Imagine o XML, só que vinte vezes maior com vinte vezes mais atributos e tags:


<t1>
   <t2 a="aaa">
       <att 1>asdf 1</att 1>
       <att 2>asdf 2</att 2>
       <att 3>asdf 3</att 3>
       <att 4>asdf 4</att 4>
       <att 5>asdf 5</att 5>
    </t2>
   <t3 b="ccc">
       <att 1>asdf 1</att 1>
       <att 2>asdf 2</att 2>
       <att 3>asdf 3</att 3>
       <att 4>asdf 4</att 4>
       <att 5>asdf 5</att 5>
   </t3>
</t1>

Só que só me interessam as tags <att 5> do …

como eu faria pra usar o XStream sem ter de mapear todas as trilhares de outras tags e sem fazer com que ele me retornasse a excessão?

:cry:

Abraços!

ceduardo.roque

http://xstream.codehaus.org/converter-tutorial.html

Agora, <att 5> é um nome muito estranho para uma tag…

[quote=peczenyj]http://xstream.codehaus.org/converter-tutorial.html

Agora, <att 5> é um nome muito estranho para uma tag…[/quote]

Hehe… foi só um exemplo… na verdade, o XML foi gerado pelo ERWin… ele tem milhares de tags diferentes… esse não é o nome da tag… foi só pra dizer que há o atributo 5…
mesmo assim… obrigado!

Sei que o post é antigo, mas consegui ignorar qualquer tag não mapeada, da seguinte maneira:

	XStream xstream = new XStream() {
	    
	    protected MapperWrapper wrapMapper(MapperWrapper next) {
                return new MapperWrapper(next) {

                    public boolean shouldSerializeMember(Class definedIn, String fieldName) {
                        return definedIn != Object.class ? super.shouldSerializeMember(definedIn, fieldName) : false;
                    }
                    
                };
            }
	    
	};

O teste CustomMapperTest.testCanBeUsedToOmitUnexpectedElements() descreve isso!!!