Código: Selecionar todos
// Compile with xHB
Function Main(cArquivo)
SetMode(25,80)
If cArquivo=NIL
RetornaConteudoXml("Arqxml.xml")
Else
RetornaConteudoXml(cArquivo)
Endif
Return
Function RetornaConteudoXml(cFileName)
LOCAL hFile, cXml
LOCAL xmlDoc, xmlIter , xmlNode, cNode, cAttrib, cValue, oCampo, oConteudo
if !file(cFileName)
Alert("Arquivo "+cFileName+" nao encontrado !")
Return nil
end
cNode := NIL
cAttrib := NIL
cValue := NIL
hFile := FOpen( cFileName )
xmlDoc := TXmlDocument():New( hFile )
IF xmlDoc:nStatus != 1
Alert("erro ao ler XML ")
Return Nil
ENDIF
xmlIter := TXmlIterator():New( xmlDoc:oRoot )
xmlNode := xmlIter:Find()
DO WHILE xmlNode != NIL
if !empty(xmlNode:cData)
if subs(xmlNode:cData,1,1) # "<"
oCampo :=xmlNode:cName
oConteudo:=xmlNode:cData
endif
else
oCampo :=xmlNode:cName
oConteudo:=""
endif
alert( Padr("Campo...: "+oCampo,70)+";"+;
Padr("Conteudo: "+oConteudo,70))
xmlNode := xmlIter:Next() // joga pro proximo campo
ENDDO
Return nil Código: Selecionar todos
<?xml version="1.0" encoding="ISO-8859-1"?>
<webservicecep>
<resultado>1</resultado>
<resultado_txt>sucesso - cep completo</resultado_txt>
<uf>RS</uf>
<cidade>Porto Alegre</cidade>
<bairro>Passo D'Areia</bairro>
<tipo_logradouro>Avenida</tipo_logradouro>
<logradouro>Assis Brasil</logradouro>
</webservicecep>
