Mostrar na tela TAGs do XML que contenham as mesmas TAGs?
Venho ao fórum, mais uma vez, compartilhar essa dúvida com vocês.
Tenho um XML com diversas informações. Dessas informações, preciso apenas de algumas.
Mas o que acontece......? Nesse XML contem fichas de pacientes. São diversas fichas.
1(um) XML contém até 60 fichas. Nessas fichas, que são representadas pelas TAGs:
<guiaSP-SADT></guiaSP-SADT>
contém todo o cadastro necessário. Contém também os exames que esse paciente realizou.
Por exemplo, para a ficha 123456789, tem 8 exames com descrições. Esses exames são representados pelas TAGs:
<codigoProcedimento></codigoProcedimento>
Então, 1(uma) ficha pode conter N código de procedimento, ou seja, exames. Por exemplo, 8 exames.
O que não estou conseguindo é mostrar todos os exames de 1 paciente. Mostro sempre 1 exame para 1 paciente.
O que seria interessan te é mostrar todos os exames desse paciente.
Mas o que percebi é que o código que estou utilizando mostra o primeiro exame(codigoProcedimento) que acha.
O código do XML abaixo não contém valores reais porque são dados sigilosos, mas a estrutura é essa. Essa estrutura se repete váaaarias vezes de acordocom o número de fichas. Abaixo o codigo em php.
PRIMEIRO CODIGO PHP:
<?php
$filename = 'operadora3.xml';
$DOMDocument = new DOMDocument( '1.0', 'UTF-8' );
$DOMDocument->preserveWhiteSpace = false;
$DOMDocument->load( $filename );
$products = $DOMDocument->getElementsByTagName( 'guiaSP-SADT' );
foreach( $products as $product )
{
foreach ($products as $dados){
echo "<b>Guia Prestador:</b> ".$guia = $product->getElementsByTagName( 'numeroGuiaPrestador' )->item( 0 )->nodeValue;
echo "<b>Cod.:</b> " .$codigo = $dados->getElementsByTagName( 'codigoProcedimento' )->item( 0 )->nodeValue.'<br>';
}}
// Neste código, os dados são exibidos triplicadamente.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ESTOU TENTANDO UTILIZAR ESSE SEGUNDO CODIGO PHP... TAMBÉM:
<?php
$xml=simplexml_load_file("operadora3.xml") or die("Error: Cannot create object");
$f = 0;
foreach($xml->prestadorParaOperadora->loteGuias->guiasTISS as $books) {
echo $books->{'guiaSP-SADT'}->procedimentosExecutados->procedimentoExecutado->procedimento->codigoProcedimento;
echo "<br>";
$f++;
}
?>
ABAIXO O CODIGO XML
operadora3.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<cabecalho>
<identificacaoTransacao>
<tipoTransacao>ENVIO_LOTE_GUIAS</tipoTransacao>
<sequencialTransacao></sequencialTransacao>
<dataRegistroTransacao>2015-09-28</dataRegistroTransacao>
<horaRegistroTransacao>09:00:00</horaRegistroTransacao>
</identificacaoTransacao>
<origem>
<identificacaoPrestador>
<codigoPrestadorNaOperadora></codigoPrestadorNaOperadora>
</identificacaoPrestador>
</origem>
<destino>
<registroANS></registroANS>
</destino>
<versaoPadrao>3.02.00</versaoPadrao>
</cabecalho>
<prestadorParaOperadora>
<loteGuias>
<numeroLote></numeroLote>
<guiasTISS>
<guiaSP-SADT>
<cabecalhoGuia>
<registroANS>005711</registroANS>
<numeroGuiaPrestador></numeroGuiaPrestador>
</cabecalhoGuia>
<dadosBeneficiario>
<numeroCarteira></numeroCarteira>
<atendimentoRN>N</atendimentoRN>
<nomeBeneficiario></nomeBeneficiario>
</dadosBeneficiario>
<dadosSolicitante>
<contratadoSolicitante>
<codigoPrestadorNaOperadora></codigoPrestadorNaOperadora>
<nomeContratado> </nomeContratado>
</contratadoSolicitante>
<profissionalSolicitante>
<conselhoProfissional>6</conselhoProfissional>
<numeroConselhoProfissional></numeroConselhoProfissional>
<UF>33</UF>
<CBOS></CBOS>
</profissionalSolicitante>
</dadosSolicitante>
<dadosSolicitacao>
<dataSolicitacao>2015-09-25</dataSolicitacao>
<caraterAtendimento>1</caraterAtendimento>
</dadosSolicitacao>
<dadosExecutante>
<contratadoExecutante>
<codigoPrestadorNaOperadora></codigoPrestadorNaOperadora>
<nomeContratado></nomeContratado>
</contratadoExecutante>
<CNES></CNES>
</dadosExecutante>
<dadosAtendimento>
<tipoAtendimento>05</tipoAtendimento>
<indicacaoAcidente></indicacaoAcidente>
</dadosAtendimento>
<procedimentosExecutados>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40304361</codigoProcedimento>
<descricaoProcedimento>Hemograma sangue total</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela></codigoTabela>
<codigoProcedimento></codigoProcedimento>
<descricaoProcedimento>Hemossedimentacao Velocidade de sangue total</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela></codigoTabela>
<codigoProcedimento>40302750</codigoProcedimento>
<descricaoProcedimento>Lipidograma especial soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40301630</codigoProcedimento>
<descricaoProcedimento>Creatinina soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela></codigoTabela>
<codigoProcedimento>40316246</codigoProcedimento>
<descricaoProcedimento>Estradiol soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela></codigoTabela>
<codigoProcedimento>40301150</codigoProcedimento>
<descricaoProcedimento>Acido Urico soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo></reducaoAcrescimo>
<valorUnitario></valorUnitario>
<valorTotal></valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40316289</codigoProcedimento>
<descricaoProcedimento>Hormonio Foliculo Estimulante por eletroquimiolum</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40316335</codigoProcedimento>
<descricaoProcedimento>Hormonio Luteinizante por eletroquimioluminescenc</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302040</codigoProcedimento>
<descricaoProcedimento>Glicose soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302075</codigoProcedimento>
<descricaoProcedimento>Hemoglobina glicada por imunoensaio sangue total</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40316572</codigoProcedimento>
<descricaoProcedimento>Vitamina B12 soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302504</codigoProcedimento>
<descricaoProcedimento>Transaminase Glutamico Oxalacetica soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302512</codigoProcedimento>
<descricaoProcedimento>Transaminase Glutamico Piruvica soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40301885</codigoProcedimento>
<descricaoProcedimento>Fosfatase Alcalina soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302423</codigoProcedimento>
<descricaoProcedimento>Sodio soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302318</codigoProcedimento>
<descricaoProcedimento>Potassio soro</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
<procedimentoExecutado>
<dataExecucao>2015-09-25</dataExecucao>
<procedimento>
<codigoTabela>22</codigoTabela>
<codigoProcedimento>40302830</codigoProcedimento>
<descricaoProcedimento>Vitamina D 25 Hidroxi por quimioluminescencia s</descricaoProcedimento>
</procedimento>
<quantidadeExecutada>1</quantidadeExecutada>
<reducaoAcrescimo>0.00</reducaoAcrescimo>
<valorUnitario>0.00</valorUnitario>
<valorTotal>0.00</valorTotal>
</procedimentoExecutado>
</procedimentosExecutados>
<observacao>6460037069</observacao>
<valorTotal>
<valorProcedimentos>0.00</valorProcedimentos>
<valorTaxasAlugueis>0</valorTaxasAlugueis>
<valorMateriais>0</valorMateriais>
<valorMedicamentos>0</valorMedicamentos>
<valorTotalGeral>0.00</valorTotalGeral>
</valorTotal>
</guiaSP-SADT>
Se puderem me ajudar nessa ...
abççç!!!