XML com & no meio

6 respostas
H

Ola,

Tenho um JSP que retorna o XML para a aplicacao Lazslo. Acontece que tem um cliente que tem o “&” no meio do nome “JOSE & CIA LTDA”.

O Lazslo me informa que ha um erro no parse XML.

Como resolver isto ? Vou ter que usar CDATA para todos os campos ?

Alias, o que voces usam/recomendam para montar o XML para retornar para o Lazlo ?

Grato
Helder

6 Respostas

E

opa beleza?

bom eu utilizo o XStream para realizar o retorno do XML
para o OpenLaszlo, com ele me facilita muito a vida
eu apenas projeto uma classe java que terá o formato
predeterminado para um tipo de informação, carrego
este objeto e o XStream serializa ele para mim para o
seu correspondente XML

quanto ao &

bom eu ainda não tive problemas com o envio
desse caractere para o OpenLaszlo…

como que você definiu o seu Dataset?

defina o tipo de comunicação post,
que este evita um monte de problemas de
caracteres…

<dataset name="ds" 
	         querytype="post" 
	         src=" SUA URL " 
	         type="http"/>

:wink:

ps.: o caractere & em uma comunicação via get
gera problema pois o mesmo é usado para separação de
parametros… sendo tambem o padrão do dataset usar
comunicação via get, defina o seu dataset como o exemplo acima :grin:

[]'s

S

Usando & não funciona?

H

Ola,

Grato pelas respostas.

Passei a utilizar o Xstream e o problema foi resolvido. Acontece que o XStream converteu o & para & automaticamente.

Porem surgiu outro problema. Alguns campos String estao sem conteudo (null) e o XStream os exclui do XML resultante. GOstaria que fossem incluidos mesmo estando null.

COmo fazer

Grato
Helder

E

bom só pra zua um pouquinho…
acho que você não chegou a pensar antes de perguntar…

brincadera viu… :razz:

agora falando sério, na sua classe que tu irá usar para converter
para XML usando o XStream antes de enviar a tua classe para
o XStream defina o contrutor da sua classe para inicializar
essas string setando o valor “”, se não me engano isso deve resolver

:roll:

[]´s

H

Ola,

Olha… Pensei bastante antes e perguntar…

A primeira solucao que pensei foi justamente o construtor, mas acontece que tenho um DAO que faz a leitura do banco de dados MySQL e alimenta o VO com estes dados.

No caso, o campo está com null desde o banco de dados.

Me parece que posso declarar um manipulador para o tipo null no XStream, mas tenho alguma dificuldade em fazer isto.

Outra solucao pensei em fazer uma verificacao de de null em cada campo do objeto VO, mas isto nao fica muito elegante.

GRato,
Helder

E

bom realmente elegante não fica…
mas faze oq é a vida nem tudo é como na teoria
a pratica as vezes acontece cada uma…

uma das coisas q faço é a verificação mesmo
se o campo está nulo, ou no meu caso, eu
verifico na inteface se o atributo existe na tag
se existir recupero, caso não exista faço alguma
coisa :roll:

sobre os conversores do XStream tem esse link

para registrar um conversor no XStream antes de chamar o uso dele
adicone algo do genero

this.getXStream().registerConverter( ${seu objeto de conversão} );

[]´s

Criado 6 de agosto de 2006
Ultima resposta 7 de ago. de 2006
Respostas 6
Participantes 3