Página 1 de 1

Leitura de um XML

Enviado: 23 Mai 2012 07:16
por Adelson.p
Olá, bom dia... :D

Alguém pode me ajudar, a ler um XML, com mais ou menos, este formato:

Código: Selecionar todos

<?xml version="1.0"?>

<Empresa type="MICRO">
  <name>Churros</name>
  <NumFun>10</NumFun>
  
  <internalIntes>
    <tool type="Carrinho">
      <name>Churros Feliz</name>
      <usodiario>8h</usodiario>
      <idade>5a</idade>
    </tool>

    <tool type="Casa Preparo">
      <name>?</name>
      <usodiario>24h</usodiario>
      <idade>8a</idade>
    </tool>
  </internalIntes>
  
</Empresa>
E o programa tem que salvar as informações lidas em um txt, como posso fazer isso?
Ele salve assim, mais ou menos...

Empresa:Churros
->8h
->5a
-->Ferramenta:Carrinho
--->Churros Feliz
--->8h
--->5a
-->Ferramenta:Casa Preparo
--->?


Algo assim, agradeço desde já pela ajuda, nem que seja pelo menos, para ler o XML, já ira me ajudar muito.
Grato

Adelson Pereira

Leitura de um XML

Enviado: 23 Mai 2012 09:13
por Pablo César
Bem vindo ao fórum Adelson !

Você já utilizou o mecanismo de "Busca" daqui do fórum ?. Aqui você tem um exemplo como ler XML: https://pctoledo.org/forum/viewto ... 43&start=0

Eus fiz o teste e leu todos os tags. Agora da forma que você quer, é você adaptando da forma que você considerar melhor. Pois tudo dependerá como você irá armazenar esses dados. Veja que você repete o conteúdo do tag "tool" para ser considerado no tag "empresa". Isso está um pouco confuso, mas quem sabe você consiga adaptar as suas necessidades.

Leitura de um XML

Enviado: 23 Mai 2012 18:35
por alxsts
Olá!

O tópico importar XML de compra trata um arquivo XML onde existem várias ocorrencias da mesma tag.

Tente adaptar o código e, ao invés de armazenar em um hash, como naquele código, grave em um arquivo texto.

Leitura de um XML

Enviado: 24 Mai 2012 13:15
por Imatech

Código: Selecionar todos

*----------------------------------------------------------*
* Exemplo Basico
*----------------------------------------------------------*
#include "hbxml.ch"
FUNCTION F_Leitura_XML()
LOCAL sAux := MemoRead( 'arquivo.xml' )
LOCAL oBook, oIterator, oCurrent
LOCAL oDoc := TXmlDocument():New( sAux, HBXML_STYLE_NOESCAPE )

IF oDoc:nError # HBXML_ERROR_NONE
Alert( 'ERRO NA ABERTURA DO ARQUIVO XML' )
ELSE
oBook := oDoc:findfirst( "Empresa" )
IF oBook == NIL
Alert( 'ARQUIVO INVALIDO: IDENTIFICACAO DO DOCUMENTO )
ELSE
oIterator := TXmlIterator():New( oBook )
oCurrent := oIterator:Next()
? oCurrent:cData
ENDIF
ENDIF
*----------------------------------------------------------*
* Veja os Exemplos em
* \Harbour\contrib\xhb\tests\XML*.prg
*----------------------------------------------------------*