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

Problema para retonar valores do XML


Estevo Nascimento

Pergunta

Peguei 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.

O código que usei...

 

<?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-deposito="23/02/2021">
    <despachos>
      <despacho codigo="IPAS009" nome="Publicação de pedido de registro para oposição (exame formal concluído)"/>
    </despachos>
    <titulares>
      <titular nome-razao-social="HERIK DE SOUZA ARAI" pais="BR" uf="RO"/>
    </titulares>
    <marca apresentacao="Mista" natureza="Produtos e/ou Serviço">
      <nome>SOTEN</nome>
    </marca>
    <classes-vienna>
      <classe-vienna codigo="27.5.1" edicao="4"/>
      <classe-vienna codigo="28.3" edicao="4"/>
      <classe-vienna codigo="26.2.7" edicao="4"/>
      <classe-vienna codigo="29.1.15" edicao="4"/>
    </classes-vienna>
    <lista-classe-nice>
      <classe-nice codigo="41">
        <especificacao>Agente artístico; literário e cultural [promotor de evento]; </especificacao>
        <status>Pendente</status>
      </classe-nice>
    </lista-classe-nice>
    <procurador>TENAX SERVIÇOS DE CONSULTORIA EM PROPRIEDADE INTELECTUAL LTDA - ME</procurador>
  </processo>
  <processo numero="920178898">
    <despachos>
      <despacho codigo="IPAS029" nome="Deferimento do pedido"/>
    </despachos>
    <titulares>
      <titular nome-razao-social="DEIVISSON HIGOR DE OLIVEIRA MORATO" pais="BR" uf="AL"/>
    </titulares>
    <lista-classe-nice>
      <classe-nice codigo="25">
        <especificacao>Bandanas;Bermudas;Boné;Calças compridas; *; </especificacao>
        <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)...

Editado por Estevo Nascimento
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...