Dúvida XStream

8 respostas
R

boa tarde pessoal…

como faço para pegar o conteúdo de uma tag como no exemplo abaixo…

estou usando xstream para fazer a “leitura” do xml…

alguém poderia me ajudar??

8 Respostas

overkill

Como assim colega seja mais objetivo o XStream serializa um objeto em XML e desserializa o mesmo para um objeto

Atraves dos get e sets vc consegue atribuir e pegar os dados …

poderia colocar seu codigo ou mesmo explanar melhor a duvida ?

R

fala overkill…

é o seguinte… estou usando o xstream para desserializar um arquivo .xml gerado por outro aplicativo… sendo mais especifiíco um aplicativo em cobol que estou fazendo para nota fiscal eletônica…

as tags com conteúdo normal tipo 1 … o xstream faz o serviço blz…

porém qdo tenho uma tag raiz com um outro conteúdo ele não pega o valor dessa tag… ex:

estou precisando pegar esse valor "nItem=“1”…

lembrando que det é um bean… teria como eu pegar esse valor e atribuir ele a uma variável qualquer??

overkill

HUmm entendi só uso XStrem para objetos entre aplicações java e o mesmo objeto por sinal, mas existem outras maneiras de ler arquivos XML alem do XStrem que acho que se enquadraria melhor no seu caso mas busca na documentacao do XStrem que talvez tenha algo .

Desculpe mas neste caso nao posso ajudar.

nextuser

seguinte vc tem que fazer o seguinte

xs.aliasAttribute(Det.class, “tpNF”, “tpNF”);

R

nextuser…

xs.aliasAttribute

não é reconhecido pelo xstream que estou usando… qual a sua versão???

nextuser

ultima versao!!
é só pegar la no site!!

olha o javaDoc http://xstream.codehaus.org/javadoc/com/thoughtworks/xstream/XStream.html#aliasAttribute(java.lang.Class,%20java.lang.String,%20java.lang.String)

ta la que existe depois da versao 1.2.2

R

bom dia nextuser…

baixei a última versão lá deu certinho valeu brow…

seguinte… será que saberia me informar se o xstream suporta a desserialização de um xml que contém tags iguais… tipo e depois e depois e assim vai…

estou jogando o conteudo do xml em um list…

ai da o seguinte erro qdo executo minha operação…

Exception in thread "main" com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$DuplicateFieldException: det
---- Debugging information ----
duplicate-field     : det
class               : java.util.ArrayList
required-type       : Entidades.InfNFe
path                : /list/NFe/infNFe/det[2]
line number         : 1
-------------------------------
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$SeenFields.add(AbstractReflectionConverter.java:322)
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:234)
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshallField(AbstractReflectionConverter.java:246)
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doUnmarshal(AbstractReflectionConverter.java:218)
        at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:162)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at com.thoughtworks.xstream.converters.collections.AbstractCollectionConverter.readItem(AbstractCollectionConverter.java:71)
        at com.thoughtworks.xstream.converters.collections.CollectionConverter.populateCollection(CollectionConverter.java:68)
        at com.thoughtworks.xstream.converters.collections.CollectionConverter.unmarshal(CollectionConverter.java:61)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:82)
        at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:63)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:76)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:60)
        at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:137)
        at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.unmarshal(AbstractTreeMarshallingStrategy.java:33)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:923)
        at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:909)
        at com.thoughtworks.xstream.XStream.fromXML(XStream.java:853)
        at Ação.LerXML.leXML(LerXML.java:23)
        at Ação.EdNFe.main(EdNFe.java:11)

da um help ai veiii…

valeus…

nextuser

eu sou gente boa ajudo e tudo mais, porem naum posso toda hora ir la na documentação e pegar o link para vc né?

vc quer que teu objeto tenha uma lista de det é isso?

leia esta pagina completa que vc vai encontrar oq procura!!

e depois leia toda a documentação e exemplos que não sao grandes depois disso creio que suas duvidas vao diminuir bastante!

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

Criado 13 de fevereiro de 2009
Ultima resposta 16 de fev. de 2009
Respostas 8
Participantes 3