Problemas com Metodo toString do TXmlDocument.

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Problemas com Metodo toString do TXmlDocument.

Mensagem por chrissoares »

Prezados,

Comecei a utilizar a versão 1.2.0 do xHarbour a pouco tempo, até tirei algumas duvidas no post Compilando com hbMake. Meu sistema compilou e eu voltei a fazer as alterações nos XML que ele cria para troca de dados com outros sistemas. Até antes da atualização do xHarbour (utilizava a versão 0.90.66) os XML as Tags ficavam identadas e os valores dentro delassem nenhum espaço entre o valor e as tags. Depois que passei a compilar o sistema com o xHarbour 1.2.0, a identação continuou normalmente, pórem os valores ganharão 12 espaços em branco a esquerda e 9 a direita, em todos as tags.
Alguem sabe o que pode estar causando isto ? Alguem já viu isto acontecendo com esta versão do xHarbour ? Pode ter alguma coisa haver com o hbMake ?
Abaixo esta um exemplo de Antes e Depois:
Antes

Código: Selecionar todos

<produto>
  <codigo>31</codigo>
  <descricao>Cadeira com braco</descricao>
  <und>UND</und>
  <qtd>10</qtd>
  <valor>253.50</valor>
  <aliqIcms>18.00</aliqIcms>
</produto>
Depois

Código: Selecionar todos

      <produto>
         <codigo>            31         </codigo>
         <descricao>            Cadeira com braco         </descricao>
         <und>            UND         </und>
         <qtd>            10         </qtd>
         <valor>            253.50         </valor>
         <aliqIcms>            18.00         </aliqIcms>
      </produto>
Para gerar o xml eu utilizo:
fwrite( n, HB_OEMTOANSI(RemAcentos(::oXml:ToString( HBXML_STYLE_INDENT+HBXML_STYLE_THREESPACES))) )

O objeto oXml é um TXmlDocument.

Obrigado a todos.
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Problemas com Metodo toString do TXmlDocument.

Mensagem por alxsts »

Olá!

Experimente deixar só o HBXML_STYLE_THREESPACES ao invés de HBXML_STYLE_INDENT+HBXML_STYLE_THREESPACES.
[]´s
Alexandre Santos (AlxSts)
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Problemas com Metodo toString do TXmlDocument.

Mensagem por chrissoares »

Como vai Alxsts,
Putz como se pronuncia isso?

Eu já tentei com todas as opções de Layout para o toString, até deixando sem nenhum layout. Realmente muda um poucoa situação, quando se deixa o toString sem parametros resta apenas um caracter de espaço a esquerda, o que causa problemas na validação do XML.

Eu verifiquei os valores logo após criar as tags no objeto oXml e estão corretas neste ponto, o problema é gerado quando vou gravar o conteudo do oXml em um arquivo. Eu verifiquei o valor do oXml antes de fazer o fwrite e já existe o problema. Acredito que tenha alguma relação com a função toString e seus parametros.

Obrigado pela atenção!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Problemas com Metodo toString do TXmlDocument.

Mensagem por chrissoares »

Consegui uma solução, meio gambiarra, mas resolveu o problema e não apresentou outros. Vou postar aqui apenas para se caso alguem passar pelo mesmo problema que eu, tem uma saída.

Eu copiei os arquivos rdd.lib e rtl.lib do xHarbour 1.2.1 para o meu xHarbour 1.2.0, recompilei todos os PRGs e testei. O XML saiu perfeito como antes.

Abraços a todos!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Problemas com Metodo toString do TXmlDocument.

Mensagem por alxsts »

Olá!

Parabéns Chris!

Aqui usamos o 1.1.0 (SimpLex) e não ocorre o problema. Por isto não te respondi novamente...
chrissoares escreveu:Putz como se pronuncia isso?
É um mnemônico... Pode chamar pelo nome.
[]´s
Alexandre Santos (AlxSts)
Responder