-
Conteúdo Similar
-
Por ILR master
Fala galera.
Espero que todos estejam bem.
Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
<item>
<title>
d sa dsad sad sadasdas
</title>
<link>
dsadas dsa sad asd as dsada
</link>
<pubDate>sadasdasdsa as</pubDate>
<dc:creator>
d sad sad sa ad as das
</dc:creator>
</item>
Meu código:
$link = "noticias.xml";
$xml = simplexml_load_file($link);
foreach($xml -> channel as $ite) {
$titulo = $ite -> item->title;
$urltitulo = $ite -> item->link;
print $urltitulo = $ite -> item->dc:creator;
} //fim do foreach
?>
Esse campo dc:creator eu não consigo ler. Como faço?
Agradeço quem puder me ajudar.
Abs
-
Por marcelo.ourico
Estou precisando fazer o envio de um XML via webservice. Estou utilizando PHP 7.4 e nuSoap.
Porém esse XML de envio possui várias tags com hífen. Por exemplo <tag-name></tag-name>.
Esse hífen tem sido um problema, principalmente por que eu não posso enviar o XML como string. Apenas como objeto. Então imaginem isso:
$objeto = simplexml_load_string($string_xml);
Se simplesmente eu tentar resgatar o valor da TAG já dá erro...
$campo1= $objeto->tag-name;
O erro ocorre em função de que o hífen é um caractere reservado do PHP... Então como resolver?
Independente disso, quando eu tento fazer o envio via nuSoap, também recebo erro abaixo:
wsdl->getTypeDef('tag-name', 'http://xyz.abr...')
wsdl->serializeType('tag-name', 'tag-name', Object(SimpleXMLElement), '
Alguém já passou por isso? Sabe como resolver? Pode dar uma dica?
-
Por alysson122010
Gostaria de saber como eu consigo recuperar dados do xml da seguinte forma. Tenho esse meu codigo php
foreach($xml -> cadastros->exame as $item_3){
$codigo = $item_3['codigo'];
}
Que recuperar os exames desse xml:
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <resultados versao="20101018" origem="aol" datahora="2021-07-22 08:25:45"> <cadastros> <pacientes> <paciente codigo="250058718" codigo_lis="" codigo_aol="250058718" datanasc="" nome=" " sexo="M"/> </pacientes> <materiais> <material codigo="856" descricao="plasma citratado"/> <material codigo="879" descricao="sangue total EDTA"/> <material codigo="543" descricao="soro"/> </materiais> <exame codigo="TSH" descricao="TSH - HORMÔNIO TIREOESTIMULANTE - Ultrassensivel" dataalteracao="21/11/2019 17:37:15"> <linhasresultado> <linha codigo="1240" descricao="TSH - HORMÔNIO TIREOESTIMULANTE Ultrasensivel" unidade="µUI/mL"/> </linhasresultado> <valorreferencia><![CDATA[0 a 3 dias: 1,100 a 15,700 µUI/mL 3 dias a 2 meses e 14 dias: 0,600 a 9,200 µUI/mL 2meses 14dias a 1ano 3meses:0,400 a 6,000 µUI/mL 1 ano e 3 meses a 6 anos: 0,400 a 5,200 µUI/mL 6 a 15 anos: 0,300 a 4,200 µUI/mL 15 a 60 anos: 0,400 a 4,300 µUI/mL 60 a 80 anos: 0,400 a 5,800 µUI/mL Superior a 80 anos: 0,400 a 6,700 µUI/mL Gestantes: Primeiro Trimestre: 0,100 a 3,600 µUI/mL Segundo Trimestre: 0,400 a 4,300 µUI/mL Terceiro Trimestre: 0,400 a 4,300 µUI/mL ]]></valorreferencia> </exame> <exame codigo="LIPAS" descricao="LIPASE" dataalteracao="28/03/2019 09:23:47"> <linhasresultado> <linha codigo="883" descricao="LIPASE" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[Inferior a 60,0 U/L]]></valorreferencia> </exame> <exame codigo="T4L" descricao="T4 - TIROXINA LIVRE" dataalteracao="16/04/2019 14:43:34"> <linhasresultado> <linha codigo="1174" descricao="T4 - TIROXINA LIVRE" unidade="ng/dL"/> </linhasresultado> <valorreferencia><![CDATA[0,70 a 1,80 ng/dL]]></valorreferencia> </exame> <exame codigo="AMILA" descricao="AMILASE TOTAL" dataalteracao="16/04/2019 12:02:51"> <linhasresultado> <linha codigo="83" descricao="AMILASE TOTAL" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[Até 115,0 U/L]]></valorreferencia> </exame> <exame codigo="FA" descricao="FOSFATASE ALCALINA" dataalteracao="15/04/2019 11:51:01"> <linhasresultado> <linha codigo="542" descricao="FOSFATASE ALCALINA" unidade="U/L"/> </linhasresultado> <valorreferencia><![CDATA[0 a 14 dias: 82 a 249 U/L 15 dias a 1 ano: 122 a 473 U/L Sexo Feminino: Feminino 1 a 9 anos: 149 a 301 U/L Feminino 10 a 12 anos: 127 a 326 U/L Feminino 13 a 14 anos: 62 a 212 U/L Feminino 15 a 16 anos: 52 a 120 U/L Feminino 17 a 18 anos: 45 a 97 U/L Adultos: 25 a 100 U/L Sexo Masculino: Masculino 1 a 9 anos: 149 a 301 U/L Masculino 10 a 12 anos: 127 a 326 U/L Masculino 13 a 14 anos: 129 a 437 U/L Masculino 15 a 16 anos: 78 a 268 U/L Masculino 17 a 18 anos: 40 a 129 U/L Adultos: 25 a 100 U/L Referência: Fontes R, Cavalari E, Vieira Neto L, et al. Alkaline phosphatase: reference interval transference from CALIPER to a pediatric Brazilian population. J Bras Patol Med Lab. 2018; 54(4): 227-31.]]></valorreferencia> </exame> <exame codigo="HBGLI3" descricao="HEMOGLOBINA GLICADA" dataalteracao="28/06/2021 09:26:18"> <linhasresultado> <linha codigo="12976" descricao="Hb SA1c - Forma estável" unidade="%"/> <linha codigo="16572" descricao="Glicose Média Estimada (GME)" unidade="mg/dL"/> </linhasresultado> <valorreferencia><![CDATA[ Hemoglobina Glicada - Hb SA1c Normal: Inferior a 5.7% Risco aumentado para Diabetes Mellitus: 5,7 a 6,4% Diabete Mellitus: Igual ou superior a 6,5% Para o diagnóstico de Diabetes Mellitus a dosagem de HbA1c deve ser confirmada com novo exame em dia diferente,exceto se houver hiperglicemia inequívo- ca com descompensação metabólica aguda ou sintomas clássicos da doença. A Associação Americana de Diabetes recomenda como meta para o tratamento de pacientes diabéticos re- sultados de HbA1c iguais ou inferiores a 7%. Conforme recomendado pela American Diabetes Asso- ciation(ADA) e European Association for the Study of Diabetes (EASD), estamos liberando cálculo da glicose média estimada(GME). Este cálculo é obtido a partir do valor de HbA1c através de uma fórmula matemática baseada em uma relação linear entre os níveis de HbA1c e a glicose média sanguínea. Ref. Diabetes Care, 2014; 37 (suppl 1): 81-90/Diretri- zes da Sociedade Brasileira de Diabestes/2013-2014 :9-11.]]></valorreferencia> </exame> <exame codigo="COAG4" descricao="COAGULOGRAMA IV" dataalteracao="06/09/2019 14:27:19"> <linhasresultado> <linha codigo="14811" descricao="PLAQUETAS - Contagem" unidade="/uL"/> </linhasresultado> <valorreferencia><![CDATA[Atividade de Protrombina: 70 a 100% RNI: 0,80 a 1,20 Ratio: Inferior a 1,25 Plaquetas: 150.000 a 450.000/uL RNI - Intervalo de Refêrencias(Alvos Terapeuticos) Recomendações do American College of Physicians, National Heart Lung and Blood Institute for Haematology.]]></valorreferencia> </exame> </cadastros> <solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718"> <amostras> <amostra codigo="0" descricao="Basal" material="856"/> <amostra codigo="1" descricao="Basal" material="879"/> <amostra codigo="2" descricao="Basal" material="543"/> </amostras> <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S"> <resultado amostra="2" linharesultado="542" resultado="51,0"/> </exame> <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S"> <resultado amostra="1" linharesultado="12976" resultado="5,1"/> <resultado amostra="1" linharesultado="16572" resultado="100"/> </exame> <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1240" resultado="2,000"/> </exame> <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="83" resultado="83,0"/> </exame> <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S"> <resultado amostra="0" linharesultado="14811" resultado="305000"/> </exame> <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S"> <resultado amostra="2" linharesultado="883" resultado="47,0"/> </exame> <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1174" resultado="1,16"/> </exame> </solicitacao> </resultados>
Até ai consegui e conseguir mostrar o valor de codigo="codigo do exame". Porém preciso fazer uma segunda consulta da parte :
<solicitacao codigo="238228701" codigo_aol="238228701" paciente="250058718"> <amostras> <amostra codigo="0" descricao="Basal" material="856"/> <amostra codigo="1" descricao="Basal" material="879"/> <amostra codigo="2" descricao="Basal" material="543"/> </amostras> <exame codigo="FA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico" observacao="" normal="S"> <resultado amostra="2" linharesultado="542" resultado="51,0"/> </exame> <exame codigo="HBGLI3" dataresultado="20/07/2021 05:48:28" metodo="Imunoensaio Turbidimétrico de Inibição " observacao="" normal="S"> <resultado amostra="1" linharesultado="12976" resultado="5,1"/> <resultado amostra="1" linharesultado="16572" resultado="100"/> </exame> <exame codigo="TSH" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1240" resultado="2,000"/> </exame> <exame codigo="AMILA" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="83" resultado="83,0"/> </exame> <exame codigo="COAG4" dataresultado="21/07/2021 13:29:20" metodo="Coagulométrico/Sistema Automatizado" observacao="" normal="S"> <resultado amostra="0" linharesultado="14811" resultado="305000"/> </exame> <exame codigo="LIPAS" dataresultado="20/07/2021 04:27:20" metodo="Colorimétrico Enzimático" observacao="" normal="S"> <resultado amostra="2" linharesultado="883" resultado="47,0"/> </exame> <exame codigo="T4L" dataresultado="20/07/2021 04:27:20" metodo="Eletroquimioluminescência" observacao="Considerar a metodologia Quimioluminescência para a análise deste teste." normal="S"> <resultado amostra="2" linharesultado="1174" resultado="1,16"/> </exame> </solicitacao>
Onde eu consiga pegar o codigo que recuperei acima e liste os resultados da parte de solicitacao referente ao codigo="codigo do exame que eu listei a cima" mas nao to conseguindo fazer. Como eu posso fazer isso?
-
Por ILR master
Fala pessoal.
Estou importando um arquivo xml para o meu DB porém, não consigo ler o campo data do xml. Todos os campos são lidos, menos o campo data. No xml ele está nesse formato: 09/06/2021 23:59:00
Abaixo segue o código que estou usando:
$xml = simplexml_load_file('cupons.xml');
foreach($xml->coupon as $cupom) {
echo $cupom->code.'<br>';
echo $cupom->data.'<br>';
}
Obrigado!
-
Por eStevo2734
Pequei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona.
<?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?>
O arquivo em XML é beemmm longo
<?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposit <despachos> <despacho codigo="IPAS009" nome="Publ </despachos> <titulares> <titular nome-razao-social="HERIK DE </titulares> <marca apresentacao="Mista" natureza="P <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao <classe-vienna codigo="28.3" edicao=" <classe-vienna codigo="26.2.7" edicao <classe-vienna codigo="29.1.15" edica </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; li <status>Pendente</status> </classe-nice></lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTOR </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Defe </despachos> <titulares> <titular nome-razao-social="DEIVISSON </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Bo <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome>
<status>. Mas também queria tentar pegar os
valores nome-razao-social="..." e natureza. Penso que
pode ter algo a ver com o tamanho do arquivo que é um
pouco maior do que o habitual, girando em torno de
30 MB e no total vão ter que tirar as informações 22 109
que é o número de vezes que esse modelo de exemplo
se repete no documento Mas como disse não sei muito
sobre PHP é uma suposição)...
-