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 violin101
      Caros amigos
       
      saudações...
       
      Peço desculpa, se postei minha dúvida em local errado.
       
      Tenho um formulário onde valido todos os campos e após clicar no BUTTON para adicionar, tenho uma função que muda o TITLE e deixa desabilitado.
       
      O problema é o seguinte:
      - caso algum campo fica em branco, após validar o formulário e mudar o BUTTON, não consigo depois de preenchido HABILITAR novamente o button.
       
      Observação:
      1) após preencher o campo que ficou em branco, como faço para HABILITAR o button novamente e mudar o title do button ?
       
       
      na VIEW está assim:
      <form action="<?php echo current_url(); ?>" id="frmEstoque" method="post" onsubmit="this.btn_adc.disabled=true;" > <div class="card-body"> <div class="row"> <!---Todos os campos do Formulário---> </div> </div> <div class="card-footer" style="text-align:center;"> <input type="hidden" id="idCli" name="idCli" value="<?php echo $cliente->idClientes; ?>" /> <a href="<?php echo base_url() ?>admin/estoque" id="" class="btn btn-danger"><i class="fa fa-undo"></i> Voltar</a> &nbsp; <button type="submit" id="btn_adc" name="btn_adc" class="btn btn-primary">Adicionar</button> </div> </form>  
      na JavaScript está assim:
      <script> //Função para Mudar o VALUE do Button Adicionar Veículo document.getElementById("btn_adc").addEventListener("click",function(){ this.innerHTML = this.value++ || 'Aguarde...'; },false); </script> /* Observação: 1) como removo a função acima, após validar o formulário e esse encontrar algum campo vazio. 2) após preencher o campo que ficou em branco, HABILITAR o button novamente. */ <script type="text/javascript"> $(document).ready(function(){ //Função para Validar Formulário $('#frmEstoque').validate({ rules :{ etq_categcars:{ required: true}, etq_destaq:{ required: true}, etq_status:{ required: true} }, messages:{ etq_categcars :{ required: '<span style="color:#ff0000;">Campo Requerido</span>'}, etq_destaq :{ required: '<span style="color:#ff0000;">Campo Requerido</span>'}, etq_status :{ required: '<span style="color:#ff0000;">Campo Requerido</span>'} }, errorClass: "help-inline", errorElement: "span", highlight:function(element, errorClass, validClass) { $(element).parents('.form-group').addClass('error'); }, unhighlight: function(element, errorClass, validClass) { $(element).parents('.form-group').removeClass('error'); $(element).parents('.form-group').addClass('success'); } }); //Status dos Botões ADICIONAR - iniciar como desabilitado. document.getElementById("btn_adc").disabled = true; }); function statusButton(){ //valida conteudo do input if ($("input[name=etq_vlrcpr]").val() != 0 && $("input[name=etq_vlrvda]").val() != 0) { //habilita o botão document.getElementById("btn_adc").disabled = false; } else { //desabilita o botão se o conteúdo do input ficar em branco document.getElementById("btn_adc").disabled = true; } } </script>  
      Grato,
       
      Cesar
       
       
       
       
    • By mateus.andriollo
      Olá,
      Gostaria de saber se alguem pode me ajudar.
      Meu PHP esta na pasta public_html em um CPanel, quero saber se é possível armazenar em pasta fora da pasta  pública, por segurança mesmo...
      Faço isso em ASP, ai chamo a imagem por um fso, funciona mas queria saber se tem como no PHP.
    • By Joob
      Boas Malta,
       
      Não sei porquê que não estou a conseguir remover os ficheiros após minutos..
      Por exemplo ele vai buscar o delete_expired_shared_links e apaga a partilha feita após o tempo colocado, mas no delete_old_zips já não apaga.
      Supostamente ele vai buscar os ficheiros da pasta zip e deveria apagar.
       
      protected function schedule(Schedule $schedule) { $schedule->call(function () { $this->delete_expired_shared_links(); })->everyMinute(); $schedule->call(function () { $this->delete_old_zips(); })->everyFiveMinutes(); // Run queue jobs every minute $schedule->command('queue:work --stop-when-empty') ->everyMinute() ->withoutOverlapping(); } protected function delete_old_zips(): void { $zips = Zip::where('created_at', '<=', Carbon::now()->subDay()->toDateTimeString())->get(); $zips->each(function ($zip) { \Storage::disk('local')->delete('zip/' . $zip->basename); $zip->delete(); }); } protected function delete_expired_shared_links(): void { $shares = Share::whereNotNull('expire_in')->get(); $shares->each(function ($share) { $created_at = Carbon::parse($share->created_at); if ($created_at->diffInHours(Carbon::now()) >= $share->expire_in) { $share->delete(); } }); } }  
      Obrigado :)
    • By clayton.lima2020
      Boa Tarde!
       
      Pessoal estou com um problema para resolver:
       
      Tenho um uma string que é um Nome:  SYLVIA
       
      Eu preciso fazer uma uma busca nessa string achar a letra Y e depois verificar se após a letra Y a próxima letra é Vogal ou Consoante.
       
      No caso do nome SYLVIA a próxima letra é L então retorna Consoante.
       
      Alguém sabe montar esse algoritmo ai?
    • By Duilio Gomes Pereira
      Tenho um banco de dados com mais de 21 mil usuários do wordpress. Como faço para deletar os usuário no  Phpmyadmin e deixar apenas 2 usuários?
       
      Pois só preciso de 2 usuários neste site.
       
      Obrigado!
×

Important Information

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