Jump to content
eStevo2734

XML values problem

Recommended Posts

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Rizer
      Galera, estamos buscando um profissional para atuar como Desenvolvedor PHP Junior/Pleno na Rizer. Está interessado?
       
      Empresa: Rizer (www.rizer.com.br)
      Vaga: Desenvolvedor PHP Pleno
      Carga horária: 40h semanais (seg a --- / 9h-18h)
      Local de trabalho: Edf. Cosmopolitan, Paralela - Salvador/BA
       
      Buscamos um profissional que não tenha potencial somente para exercer com excelência a posição de Desenvolvedor PHP, mas também para - num futuro próximo - liderar times na sua área de expertise. Para tornar isso possível, iremos imergi-lo no mercado e no mundo de empresas de tecnologia e startups, apresentando ainda mais sobre o funcionamento de empresas como a nossa (não tão tradicionais assim) e sobre as metodologias que utilizamos para atingir nossos resultados.
       
      A Rizer cresce exponencialmente a cada dia e gostamos de fazer todos crescerem junto conosco. Por isso, além de uma excelente política de reconhecimento e promoção (algumas vezes meteórica) de funcionários, possuímos também um programa de Vesting para oferecer quotas da sociedade da empresa para membros do nosso time que se destacam.
       
      Pré-requisitos:
      Conhecimento sólido em PHP (2+ anos de experiência);
      Integração via APIs rest;
      Framework Laravel;
      Banco de dados relacional (mysql);
      Utilização de metodologias ágeis (Scrum);
      Git / gitflow.
      Phpunit;
      Boas práticas e design pattern;;
      CSS, HTML e JavaScript
       
      Interessados deverão preencher o seguinte formulário:
       
      http://bit.ly/rizer1
       
      e fazer o upload do currículo com nome “Desenvolvedor PHP Pleno - SEU NOME”
      Você se considera uma excelente pessoa e um ótimo profissional? Curtiu a vaga? Então vem trabalhar com a gente, vem!
    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.