Ir para conteúdo
Fórum Script Brasil
  • 0

Xml


Donati

Pergunta

BOm Dia Galera

Estou iniciando um projeto em VB com XML, gostaria de saber se alguém tem algum exemplo de codigo fonte usando o XMLDOM????

Eu achei no site do Marcorrati um exemplo, porem é muito simples (já me ajudou bastante) porem o XML que vou ler é bastante complexo então precisava de um fonte de exemplo lendo um XML mais complexo para me basear

Ate Mais

Donati

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Segue abaixo um dos XMLs que terei que ler.


<ans:mensagemTISS>

<ans:cabecalho>

<ans:identificacaoTransacao>
<ans:tipoTransacao>ENVIO_LOTE_GUIAS</ans:tipoTransacao>
<ans:sequencialTransacao>25</ans:sequencialTransacao>
<ans:dataRegistroTransacao>2007-03-15</ans:dataRegistroTransacao>
<ans:horaRegistroTransacao>19:41:00</ans:horaRegistroTransacao>
</ans:identificacaoTransacao>

<ans:origem>

<ans:codigoPrestadorNaOperadora>
<ans:CNPJ>87827689002405</ans:CNPJ>
</ans:codigoPrestadorNaOperadora>
</ans:origem>

<ans:destino>
<ans:registroANS>002020</ans:registroANS>
</ans:destino>
<ans:versaoPadrao>2.01.01</ans:versaoPadrao>
</ans:cabecalho>

<ans:prestadorParaOperadora>

<ans:loteGuias>
<ans:numeroLote>1</ans:numeroLote>

<ans:guias>

<ans:guiaFaturamento>

<ans:guiaResumoInternacao>

<ans:identificacaoGuiaInternacao>
<ans:registroANS>02020</ans:registroANS>
<ans:dataEmissaoGuia>2007-03-13</ans:dataEmissaoGuia>
<ans:numeroGuiaPrestador>78963</ans:numeroGuiaPrestador>
<ans:numeroGuiaOperadora>78963</ans:numeroGuiaOperadora>
</ans:identificacaoGuiaInternacao>
<ans:numeroGuiaSolicitacao>89656</ans:numeroGuiaSolicitacao>

<ans:dadosBeneficiario>
<ans:numeroCarteira>32112654112</ans:numeroCarteira>
<ans:nomeBeneficiario>PACIENTE INTERNO TISS INTERNACAO</ans:nomeBeneficiario>
<ans:nomePlano>BASICO</ans:nomePlano>
<ans:validadeCarteira>2007-12-31</ans:validadeCarteira>
<ans:numeroCNS>632562344444444</ans:numeroCNS>
</ans:dadosBeneficiario>

<ans:identificacaoExecutante>

<ans:identificacao>
<ans:CNPJ>87827689002405</ans:CNPJ>
</ans:identificacao>
<ans:nomeContratado>UNIMED NORDESTE-RS-SOC.COOP.SERVICOS MEDICOS LTDA.</ans:nomeContratado>
<ans:numeroCNES>4444444</ans:numeroCNES>
</ans:identificacaoExecutante>
<ans:caraterInternacao>E</ans:caraterInternacao>
<ans:acomodacao>13</ans:acomodacao>
<ans:dataHoraInternacao>2007-03-13T01:46:00</ans:dataHoraInternacao>
<ans:tipoInternacao>1</ans:tipoInternacao>
<ans:regimeInternacao>1</ans:regimeInternacao>

<ans:internacaoObstetrica>
<ans:emGestacao>0</ans:emGestacao>
<ans:aborto>0</ans:aborto>
<ans:transtornoMaternoRelGravidez>0</ans:transtornoMaternoRelGravidez>
<ans:complicacaoPeriodoPuerperio>0</ans:complicacaoPeriodoPuerperio>
<ans:atendimentoRNSalaParto>0</ans:atendimentoRNSalaParto>
<ans:complicacaoNeonatal>0</ans:complicacaoNeonatal>
<ans:baixoPeso>0</ans:baixoPeso>
<ans:partoCesareo>0</ans:partoCesareo>
<ans:partoNormal>0</ans:partoNormal>
<ans:declaracoesNascidosVivos/>
<ans:obitoMulher>1</ans:obitoMulher>
</ans:internacaoObstetrica>
<ans:obitoNeonatal/>

<ans:diagnosticosSaidaInternacao>

<ans:diagnosticoPrincipal>
<ans:nomeTabela>CID-10</ans:nomeTabela>
<ans:codigoDiagnostico>B01</ans:codigoDiagnostico>
<ans:descricaoDiagnostico>VARICELA [CATAPORA]</ans:descricaoDiagnostico>
</ans:diagnosticoPrincipal>
</ans:diagnosticosSaidaInternacao>

<ans:procedimentosRealizados>

<ans:procedimentoEquipe>

<ans:equipe>

<ans:membroEquipe>

<ans:codigoProfissional>
<ans:cpf>58217010404</ans:cpf>
</ans:codigoProfissional>

<ans:identificacaoProfissional>
<ans:nomeExecutante>ANDERSON ANDRADE</ans:nomeExecutante>

<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>4545</ans:numeroConselho>
<ans:ufConselho>PE</ans:ufConselho>
</ans:conselhoProfissional>
</ans:identificacaoProfissional>
<ans:cpf>58217010404</ans:cpf>
<ans:posicaoProfissional>0</ans:posicaoProfissional>
</ans:membroEquipe>

<ans:membroEquipe>

<ans:codigoProfissional>
<ans:cpf>00420824049</ans:cpf>
</ans:codigoProfissional>

<ans:identificacaoProfissional>
<ans:nomeExecutante>RUBENS S RAMOS</ans:nomeExecutante>

<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>81</ans:numeroConselho>
<ans:ufConselho>RS</ans:ufConselho>
</ans:conselhoProfissional>
</ans:identificacaoProfissional>
<ans:cpf>00420824049</ans:cpf>
<ans:posicaoProfissional>1</ans:posicaoProfissional>
</ans:membroEquipe>

<ans:membroEquipe>

<ans:codigoProfissional>
<ans:cpf>00352608072</ans:cpf>
</ans:codigoProfissional>

<ans:identificacaoProfissional>
<ans:nomeExecutante>JOSE C BELARDINELLI</ans:nomeExecutante>

<ans:conselhoProfissional>
<ans:siglaConselho>CRM</ans:siglaConselho>
<ans:numeroConselho>213</ans:numeroConselho>
<ans:ufConselho>RS</ans:ufConselho>
</ans:conselhoProfissional>
</ans:identificacaoProfissional>
<ans:cpf>00352608072</ans:cpf>
<ans:posicaoProfissional>6</ans:posicaoProfissional>
</ans:membroEquipe>
</ans:equipe>

<ans:procedimentosExamesRealizados>

<ans:procedimentoRealizado>
<ans:horaInicio>14:06:00</ans:horaInicio>
<ans:horaFim>15:06:00</ans:horaFim>

<ans:procedimento>
<ans:tipoTabela>02</ans:tipoTabela>
<ans:codigo>45080194</ans:codigo>
<ans:descricao>CESARIANA</ans:descricao>
</ans:procedimento>
<ans:quantidadeRealizada>300</ans:quantidadeRealizada>
<ans:reducaoAcrescimo>100</ans:reducaoAcrescimo>
<ans:valor>723.33</ans:valor>
<ans:valorTotal>723.33</ans:valorTotal>
<ans:data>2007-03-13</ans:data>
</ans:procedimentoRealizado>
</ans:procedimentosExamesRealizados>
</ans:procedimentoEquipe>
</ans:procedimentosRealizados>

<ans:OPMUtilizadas>

<ans:identificacaoOPM>

<ans:OPM>
<ans:tipoTabela>02</ans:tipoTabela>
<ans:codigo>400000001</ans:codigo>
<ans:descricao>PROTESE TOTAL JOELHO</ans:descricao>
</ans:OPM>
<ans:quantidade>2</ans:quantidade>
<ans:valorUnitario>0.01</ans:valorUnitario>
<ans:valorTotal>0.02</ans:valorTotal>
</ans:identificacaoOPM>

<ans:identificacaoOPM>

<ans:OPM>
<ans:tipoTabela>02</ans:tipoTabela>
<ans:codigo>40000002</ans:codigo>
<ans:descricao>FILME PARA RAIO X TAMANHO 20 X 25</ans:descricao>
</ans:OPM>
<ans:quantidade>2</ans:quantidade>
<ans:valorUnitario>33.45</ans:valorUnitario>
<ans:valorTotal>66.9</ans:valorTotal>
</ans:identificacaoOPM>
<ans:valorTotalOPM>66.92</ans:valorTotalOPM>
</ans:OPMUtilizadas>
<ans:tipoFaturamento>P</ans:tipoFaturamento>

<ans:valorTotal>
<ans:servicosExecutados>723.33</ans:servicosExecutados>
<ans:diarias>0</ans:diarias>
<ans:taxas>0</ans:taxas>
<ans:materiais>0</ans:materiais>
<ans:medicamentos>0</ans:medicamentos>
<ans:gases>0</ans:gases>
<ans:totalGeral>723.33</ans:totalGeral>
</ans:valorTotal>
</ans:guiaResumoInternacao>
</ans:guiaFaturamento>
</ans:guias>
</ans:loteGuias>
</ans:prestadorParaOperadora>

<ans:epilogo>
<ans:hash>05BAEBBFE04EFD1C8C80CC1CA95ADAAA</ans:hash>
</ans:epilogo>
</ans:mensagemTISS>[/codebox]

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz um exemplo de como ler o nó "cabecalho" do seu XML:

Dim x As New DOMDocument
Dim mensagemTISS As IXMLDOMNode
Dim cabeçalho As IXMLDOMNode
Dim idTransação As IXMLDOMNode
Dim origem As IXMLDOMNode
Dim destino As IXMLDOMNode
Dim versãoPadrão As IXMLDOMNode

Dim dado As IXMLDOMNode

If x.Load(App.Path & "\teste.xml") Then
    Debug.Print "ok"
    
    Set mensagemTISS = x.selectSingleNode("ans:mensagemTISS")
    
    Set cabeçalho = mensagemTISS.selectSingleNode("ans:cabecalho")
    
    Set idTransação = cabeçalho.selectSingleNode("ans:identificacaoTransacao")
    Debug.Print "Identificação da Transação"
    For Each dado In idTransação.childNodes
        Debug.Print " -> " & Replace(dado.nodeName, "ans:", "") & " = " & dado.nodeTypedValue
    Next dado
    
    Set origem = cabeçalho.selectSingleNode("ans:origem")
    Debug.Print "Origem"
    For Each dado In origem.childNodes
        If dado.hasChildNodes Then
            For Each dado2 In dado.childNodes
                Debug.Print " -> " & Replace(dado2.nodeName, "ans:", "") & " = " & dado2.nodeTypedValue
            Next dado2
        End If
    Next dado
    
    Set destino = cabeçalho.selectSingleNode("ans:destino")
    Debug.Print "Destino"
    For Each dado In destino.childNodes
        Debug.Print " -> " & Replace(dado.nodeName, "ans:", "") & " = " & dado.nodeTypedValue
    Next dado
    
    Set versãoPadrão = cabeçalho.selectSingleNode("ans:versaoPadrao")
    Debug.Print "Versão Padrão: " & versãoPadrão.nodeTypedValue
End If

Acredito que pelo exemplo acima você consiga ler o restante do arquivo.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0
O que seria um XML mais complexo? Você pode dar um exemplo?

Abraços,

Graymalkin

olá amigo você tem desenvolvido a aplicação para o tiss?

podemos trocar uma idéia?

bom dia Graymalkin

Valeu pela ajuda, com este exemplo já estou conseguindo ler o XML inteiro

Ate mais

Donati

Olá amigo você desenvolveu algo para o tiss?

podemos trocar uma idéia?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...