Ir para conteúdo

POWERED BY:

Jack Oliveira

Gerando SiteMap

Recommended Posts

Boa noite galera..

 

Estou tentando gerar um sitemap com php

 

So que tenho que por o limit 1200 

 

mais que isso ele nao gera e se deixar sem limit 

 

Obs: o banco de dados contem mais de 10 mil registros

<?php

	// Data e hora atual
	$datetime = new DateTime(date('Y-m-d H:i:s'));
	// A linha abaixo me retornará uma data no seguinte formato: 2017-11-22T00:06:23-02:00
	$date = $datetime->format(DateTime::ATOM); // ISO8601	
  
	// Gera o arquivo XML do sitemap
	$xml = '<?xml version="1.0" encoding="UTF-8"?>
	<urlset
	    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
	    <url>
	        <loc>'.ConfigPainel('site_url').'</loc>
	        <lastmod>'.$date.'</lastmod>
	        <changefreq>weekly</changefreq>
	        <priority>1.00</priority>
	    </url>';

				$Query = DBRead('cidades','*',"WHERE status ='1' ORDER BY nome ASC"); 
				if (is_array($Query)) { foreach ($Query as $modcid) {
					
				$xml .='
	    <url>
	        <loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc>
	        <lastmod>'.$date.'</lastmod>
	        <changefreq>weekly</changefreq>
	        <priority>1.00</priority>
	    </url>';				



				
					
					
					//$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC");
					$QueryR = DBRead('directory_guia', '*',"WHERE cidade='{$modcid['id']}' AND status='1' ORDER BY titulo ASC LIMIT 1200");
      if (is_array($QueryR)) { foreach ($QueryR as $v) {
$Queryc = DBRead('cidades', '*',"WHERE id='{$v['cidade']}' ORDER BY nome ASC")[0];

if(empty($v['slug'])) {
	
}else{
$urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].'/list/'.$v['slug'].'/';	

            $xml .=' 
			    <!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' -->
			    <url>
			   
			        <loc>'.$urlseo.'</loc>
			        <lastmod>'.$date.'</lastmod>	
			        <changefreq>weekly</changefreq>
			        <priority>0.85</priority>
			    </url>
               <!-- FIM DA EMPRESA '.TRIM($v['titulo']).' -->
				';

					}
		}}
	
}}
	$xml .= '
	</urlset>';
	// Abre o arquivo ou tenta cria-lo se ele não exixtir
	$arquivo = fopen('../sitemap.xml', 'w');
	if (fwrite($arquivo, $xml)) {
	        Redireciona('./index.php?sucesso');
	    } else {
	        Redireciona('?erro');


	}
	fclose($arquivo);
	// Compactar arquivo sitemap para GZIP
	$data = implode("", file("sitemap.xml"));
	$gzdata = gzencode($data, 9);
	$fp = fopen("sitemap.xml.gz", "w");
	fwrite($fp, $gzdata);
	fclose($fp);
	 
	// Envia para o Google o novo sitemap gerado
	$urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".ConfigPainel('site_url')."";
	// Arquivos a serem enviados
	$Files = ['sitemap.xml', 'sitemap.xml.gz'];
	// Envia os dois arquivos sitemap gerados para a URL do Google
	foreach ($Files as $file) {
	    $url = $urlSitemap . $file;
	    $ch = curl_init($url);
	    curl_setopt($ch, CURLOPT_HEADER, 0);
	    curl_exec($ch);
	    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	    curl_close($ch);
	}			
			
?>

Caso ouve outra forma que eu possa gerar este sitemap com php fico grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para testar o seu código, eu fiz um monte de gambiarra, espero que você não copie, mas adapte ao seu código original, principalmente porque não considerei o campo slug no directory_guia. Acredito que o problema no seu código é que ele pede para fazer a consulta, mas não traz os resultados da consulta:

<?php
// mysql: cidades(id,nome,status,subdominio) 
// directory_guia(id, id_cidade, status, titulo)
function ConfigPainel($qualquer){return "frank.com";}
$pdo=new PDO("mysql:host=localhost;dbname=laravel","root","");
$datetime = date('Y-m-d H:i:s');
$date = date('Y-m-d');	
$xml = '<?xml version="1.0" encoding="UTF-8"?>
	<urlset
	    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
	    <url>
	        <loc>'.ConfigPainel('site_url').'</loc>
	        <lastmod>'.$date.'</lastmod>
	        <changefreq>weekly</changefreq>
	        <priority>1.00</priority>
	    </url>';
$smt = $pdo->query('select * from cidades WHERE status=1 ORDER BY nome ASC');
$Query = $smt->fetchAll(PDO::FETCH_DEFAULT);
if (is_array($Query)) { 
    foreach ($Query as $modcid) {
	    $xml .='
        <url>
        <loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc>
        <lastmod>'.$date.'</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.00</priority>
        </url>';			
        $stm = $pdo->query("select * from directory_guia WHERE id_cidade=".$modcid['id']." AND status=1 ORDER BY titulo ASC LIMIT 1200");
        $QueryR = $stm->fetchAll(PDO::FETCH_DEFAULT);
        if (is_array($QueryR)) { 
            foreach ($QueryR as $v) {
                $stm = $pdo->query("select * from cidades WHERE id=".$v['id_cidade']." 
                    ORDER BY nome ASC");
                $Queryc = $stm->fetchAll(PDO::FETCH_DEFAULT);
                if(empty($v['slug'])) { }else{
                    $urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].
                        '/list/'.$v['slug'].'/';	
                    $xml .=' 
			        <!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' -->
			        <url>	   
			        <loc>'.$urlseo.'</loc>
			        <lastmod>'.$date.'</lastmod>	
			        <changefreq>weekly</changefreq>
			        <priority>0.85</priority>
			        </url>
                    <!-- FIM DA EMPRESA '.TRIM($v['titulo']).' --> ';}}}}}
	$xml .= '
	</urlset>';
	$arquivo = fopen('sitemap.xml', 'w');
	if (fwrite($arquivo, $xml)) {
	        header('location:sitemap.xml'); exit;} else {
	        header('location:?erro');}
	fclose($arquivo);
	$data = implode("", file("sitemap.xml"));
	$gzdata = gzencode($data, 9);
	$fp = fopen("sitemap.xml.gz", "w");
	fwrite($fp, $gzdata);
	fclose($fp);
	$urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".
        ConfigPainel('site_url')."";
	$Files = ['sitemap.xml', 'sitemap.xml.gz'];
	foreach ($Files as $file) {
	    $url = $urlSitemap . $file;
	    $ch = curl_init($url);
	    curl_setopt($ch, CURLOPT_HEADER, 0);
	    curl_exec($ch);
	    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	    curl_close($ch);}				
?>

 

Screenshot_1.png

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Frank K Hosaka disse:

Para testar o seu código, eu fiz um monte de gambiarra, espero que você não copie, mas adapte ao seu código original, principalmente porque não considerei o campo slug no directory_guia. Acredito que o problema no seu código é que ele pede para fazer a consulta, mas não traz os resultados da consulta:


<?php
// mysql: cidades(id,nome,status,subdominio) 
// directory_guia(id, id_cidade, status, titulo)
function ConfigPainel($qualquer){return "frank.com";}
$pdo=new PDO("mysql:host=localhost;dbname=laravel","root","");
$datetime = date('Y-m-d H:i:s');
$date = date('Y-m-d');	
$xml = '<?xml version="1.0" encoding="UTF-8"?>
	<urlset
	    xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	    xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
	    <url>
	        <loc>'.ConfigPainel('site_url').'</loc>
	        <lastmod>'.$date.'</lastmod>
	        <changefreq>weekly</changefreq>
	        <priority>1.00</priority>
	    </url>';
$smt = $pdo->query('select * from cidades WHERE status=1 ORDER BY nome ASC');
$Query = $smt->fetchAll(PDO::FETCH_DEFAULT);
if (is_array($Query)) { 
    foreach ($Query as $modcid) {
	    $xml .='
        <url>
        <loc>'.ConfigPainel('site_url').''.$modcid['subdominio'].'/</loc>
        <lastmod>'.$date.'</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.00</priority>
        </url>';			
        $stm = $pdo->query("select * from directory_guia WHERE id_cidade=".$modcid['id']." AND status=1 ORDER BY titulo ASC LIMIT 1200");
        $QueryR = $stm->fetchAll(PDO::FETCH_DEFAULT);
        if (is_array($QueryR)) { 
            foreach ($QueryR as $v) {
                $stm = $pdo->query("select * from cidades WHERE id=".$v['id_cidade']." 
                    ORDER BY nome ASC");
                $Queryc = $stm->fetchAll(PDO::FETCH_DEFAULT);
                if(empty($v['slug'])) { }else{
                    $urlseo = ''.ConfigPainel('site_url').''.$Queryc['subdominio'].
                        '/list/'.$v['slug'].'/';	
                    $xml .=' 
			        <!-- INICIO DA EMPRESA '.TRIM($v['titulo']).' -->
			        <url>	   
			        <loc>'.$urlseo.'</loc>
			        <lastmod>'.$date.'</lastmod>	
			        <changefreq>weekly</changefreq>
			        <priority>0.85</priority>
			        </url>
                    <!-- FIM DA EMPRESA '.TRIM($v['titulo']).' --> ';}}}}}
	$xml .= '
	</urlset>';
	$arquivo = fopen('sitemap.xml', 'w');
	if (fwrite($arquivo, $xml)) {
	        header('location:sitemap.xml'); exit;} else {
	        header('location:?erro');}
	fclose($arquivo);
	$data = implode("", file("sitemap.xml"));
	$gzdata = gzencode($data, 9);
	$fp = fopen("sitemap.xml.gz", "w");
	fwrite($fp, $gzdata);
	fclose($fp);
	$urlSitemap = "http://www.google.com/webmasters/sitemaps/ping?sitemap=".
        ConfigPainel('site_url')."";
	$Files = ['sitemap.xml', 'sitemap.xml.gz'];
	foreach ($Files as $file) {
	    $url = $urlSitemap . $file;
	    $ch = curl_init($url);
	    curl_setopt($ch, CURLOPT_HEADER, 0);
	    curl_exec($ch);
	    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
	    curl_close($ch);}				
?>

 

Screenshot_1.png

@Frank K Hosaka obrigado vou fazer a adaptação, fico grato...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • 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)...
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.