CRIAR E LER XML

ARNALDOCRUZ 10/05/2010 19:19:02
#341453
Boa Noite

Não tenho os dados antigos porem tenho os XML

Preciso ler os arquivos xml e gravar no Banco de Dados

Com os dados novos eu preciso criar o arquivo xml

Segue anexo o modelo do arquivo XML que devo criar e ler

Obrigado

FOXMAN 11/05/2010 09:32:41
#341483
Para Ler:

No exemplo abaixo faço a leitura de um arquivo localizado na internet.

Vc pode trocar o link pelo caminho do arquivo xml.

Dim ds As DataSet, sResultado As String
ds = New DataSet()
ds.ReadXml([Ô]http://xxxx.yyyy.com.br/xyz.php?cep=[Ô] + CEP.Replace([Ô]-[Ô], [Ô][Ô]).Trim() + [Ô]&formato=xml[Ô])
If (ds.Tables(0).Rows.Count > 0) Then
sResultado = ds.Tables(0).Rows(0).Item([Ô]resultado[Ô]).ToString()
If sResultado = 1 Then
Return ds
ElseIf sResultado = 2 Then
Return ds
ElseIf sResultado = 0 Then
Return ds
End If
Else
msgbox([Ô]teste[Ô])
End If


Para gravar basta vc carregar um dataset e utilizar a função writexml

exemplo.

ds.WriteXml([Ô]X:\seuxml.xml[Ô])


Ve se funfa ae.....
ARNALDOCRUZ 12/05/2010 10:06:01
#341554
Foz MAN a sua rotina da erro aqui

Tente vc abrir o xml anexo

sResultado = ds.Tables(0).Rows(0).Item([Ô]resultado[Ô]).ToString()---->> aqui diz que o cabecalho é longo
If sResultado = 1 Then
Return ds------>>aqui
ElseIf sResultado = 2 Then
Return ds------>>aqui
ElseIf sResultado = 0 Then
Return ds------>>Aqui
End If
Else
msgbox([Ô]teste[Ô])
End If

Obrigado
FOXMAN 12/05/2010 10:28:46
#341555
Arnaldo, tentei fazer a leitura e ocorreu erro no primeiro nó do XML.
Então tente o link abaixo.

http://www.macoratti.net/vbn5_xml.htm
KILLER 12/05/2010 13:49:21
#341584
ARNALDOCRUZ eu consegui fazer o dataset ler na boa, sem problemas

verifique se a primeira linha esta em branco , ela nao pode ficar em branco de maneira nenhuma se não o dataset não lê
a primeira linha deve ser obrigatoriamente a declaracao do xml no seu caso:

<?xml version=[Ô]1.0[Ô] encoding=[Ô]ISO-8859-1[Ô] ?>

no vb.net lê-se o xml assim:

Dim ds As New DataSet
ds.ReadXml([Ô]C:\xmlparaleituraJG7IRN5QTW.txt[Ô])

como o FOXMAN disse.
Tópico encerrado , respostas não são mais permitidas