Clipper On Line • Ver Tópico - Testando gerar XML através de hash array
Mudar para estilo Clássico
Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.
Postar uma resposta

Testando gerar XML através de hash array

28 Dez 2020 00:11

Só um teste que fiz aqui.

criação do hash:
Código:
PROCEDURE Main

   LOCAL hXml := hb_Hash(), a, b

   SetMode(25,80)
   CLS
   Altd()
   WITH OBJECT a := ( hXml[ "emit" ] := hb_Hash() )
      a[ "CNPJ" ]  := "00.000.000-00"
      a[ "xNome" ] := "nome"
      WITH OBJECT b := ( a[ "xenderEmit" ] := hb_hash() )
         b[ "xLgr" ]    := "logradouro"
         b[ "nro" ]     := "."
         b[ "xBairro" ] := "bairro"
      ENDWITH
   ENDWITH
   ? HashToXml( hXml, 1 )
   Inkey(0)

   RETURN


rotina pra transformar em XML

Código:
FUNCTION HashToXml( hXml, nIndex )

   LOCAL cXml := "", nCont, aItem

   aItem := hb_HPairAt( hXml, nIndex )
   cXml += "<" + aItem[ 1 ] + ">"
   IF ValType( aItem[ 2 ] ) == "H"
      cXml += hb_Eol()
      FOR nCont = 1 TO Len( aItem[ 2 ] )
         cXml += HashToXml( aItem[ 2 ], nCont )
         cXml += hb_Eol()
      NEXT
   ELSE
      cXml += aItem[ 2 ]
   ENDIF
   cXml += "</" + aItem[ 1 ] + ">"

   RETURN cXml


hashxml.png
Postar uma resposta