Jump to content
JoãoRicardo.Lima

Problemas para ler XML

Recommended Posts

Olá pessoal blz?.

Estou com problemas para ler um xml, estou pegando ele com simplexml_load_file(), quando eu dou um vardump ele me mostra todas as propriedades e tals, mas quando eu tento pegar a propriedade(exemplo $xml->emit) ele me retorna null, abaixo está o código.

 

$arquivo = $_FILES['xml_conta'];

            $xml = simplexml_load_file($arquivo['tmp_name']);


           var_dump($xml->ide);

Já tentei pegar o arquivo direto do diretório mas da no mesmo. Abaixo o meu var_dump().

 

object(SimpleXMLElement)#2 (3) { ["@attributes"]=> array(1) { ["versao"]=> string(4) "4.00" } ["NFe"]=> object(SimpleXMLElement)#4 (2) { ["infNFe"]=> object(SimpleXMLElement)#6 (9) { ["@attributes"]=> array(2) { ["versao"]=> string(4) "4.00" ["Id"]=> string(47) "NFe51191203927792000132550010003900572477841258" } 
["ide"]=> object(SimpleXMLElement)#8 (22) { 
["cUF"]=> string(2) "51" 
["cNF"]=> string(8) "47825479" 
["natOp"]=> string(33) "Venda Terceiros" 
["mod"]=> string(2) "50" 
["serie"]=> string(1) "1" 
["nNF"]=> string(6) "397894" 
["dhEmi"]=> string(25) "2019-12-05T18:35:33-04:00" 
["dhSaiEnt"]=> string(25) "2019-12-05T18:35:33-04:00" 
["tpNF"]=> string(1) "1" 
["idDest"]=> string(1) "1" 
["cMunFG"]=> string(7) "51074" 
["tpImp"]=> string(1) "3" 
["tpEmis"]=> string(1) "2" 
["cDV"]=> string(1) "5" 
["tpAmb"]=> string(1) "2" 
["finNFe"]=> string(1) "2" 
["indFinal"]=> string(1) "1" 
["indPres"]=> string(1) "1" 
["procEmi"]=> string(1) "0" 
["verProc"]=> string(7) "3.5.1.2" 
["dhCont"]=> string(25) "2019-12-05T15:32:22-04:00" 
["xJust"]=> string(23) "sem conexao com o sefaz" 
}

 

Share this post


Link to post
Share on other sites

Pessoal consegui resolver.

Só pra deixar registrado no forum. Eu estava acessando as propriedades erradas, como é uma NFe tenho que acessar as informações da NFe assim.

$xml->NFe->infNfe->nome_do_objeto->nome_da_propriedade

exemplo:

$xml->NFe->infNFe->emit->CNPJ;

 

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 drx
      Olá Pessoal!
       
      É possível editar meu código em php em qualquer página no WP ?
      E com relação à segurança no WP, qual procedimento devo realizar? Devo deletar algum arquivo dentro da instalação do WP?
      Desde já agradeço.
    • By Jamersonjds
      Pra aprendizado, estou tentando listar dados do banco de dados e trazer os resultados para meu html.
      Estou conseguindo fazer com este código.
       
      <!DOCTYPE html> <html lang="en"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta charset="UTF-8"> <title>Chat</title> <link rel="stylesheet" href="../public/style/reset.css"> <link rel="stylesheet" href="../public/style/chatStyle.css"> <!-- É adicionado a biblioteca jquery e o fontAwesome --> <link href="https://fonts.googleapis.com/css?family=Ubuntu&display=swap" rel="stylesheet"> <link href="../public/style/fontawesome/css/all.css" rel="stylesheet"> <script src="../public/js/jquery.min.js"></script> </head> <style> .test2 { cursor: pointer; } </style> <script> $(document).ready(function(){ var itens = "", url = "../includes/configs/chat.php", itens2 = ""; // Capturar dados usando Método AJAX do jquery $.ajax({ url: url, cache: false, dataType: "json", success: function(retorno){ for(var i = 0; i<retorno.length; i++){ itens += "<li>"; itens += "<a class='test2' onclick='function retornou(){$('.Tes22').html('wadwd')}'>"; itens += "<div class='imgUserList'>"; itens += "<div class='widthUserImg'>"; itens += "<div class='imgUserListD'><img src='https://avatars0.githubusercontent.com/u/3966553?s=460&v=4' alt=''></div>"; itens += "</div>"; itens += "<div class='textUserList'>"; itens += "<input type='text' class='pegarID' value='" + retorno[i].id + "'>"; itens += "<span class='title'>" + retorno[i].email + "</span>"; itens += "<h1 class='title'>Está online</h1>"; itens += "</div>"; itens += "</div>"; itens += "</a>"; itens += "</li>"; } $(".pessoas").html(itens); } }) }); </script> <body onload="carregarItens()"> <div class="container"> <div class="listaPessoas"> <div class="headerPeople title"> <h1>Contatos</h1> <h2 class="Tes22"></h2> </div> <ul class="pessoas"> <!-- <li> <a href=""> <div class="imgUserList"> <div class="widthUserImg"> <div class="imgUserListD"><img src="https://avatars0.githubusercontent.com/u/3966553?s=460&v=4" alt=""></div> </div> <div class="textUserList"> <span class="title">10.1.196.90</span> <h1 class="title">Está online</h1> </div> </div> </a> </li> --> </ul> </div> <div class="chat"> <div class="chatHeader"> <div class="title text"> <h1>james</h1> </div> <div class="menuUser title"> <i class="fas fa-ellipsis-h"></i> </div> </div> <div class="chatMessage"> </div> <div class="chattext"> <form action=""> <input type="text" id="modal"> <button><i class="fas fa-paper-plane"></i></button> </form> </div> </div> <div class="infoPessoas"> </div> </div> <script src="../public/js/chat.js"></script> </body> </html> Porém estou querendo pegar apenas o ID e colocar em um <h2> e não estou conseguindo.
      Exemplo: Ao clicar em um dado vindo do banco de dados como é listado acima eu colocar o ID dele no <h2>.
       
      Este é meus dados vindo do PHP já no json.
      echo json_encode($dados, JSON_PRETTY_PRINT);  
    • By jonathasouza
      Como posso criar uma query no php que não duplique varias vezes o valor?
       
      Gostaria de colocar apenas um valor desses por vez, e não a mesma coisa repetida.
       
        <?php
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      if(mysqli_connect_errno($conexao)){
      echo 'Failed to connecto to database'.mysqli_connect_error();}

      $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem");
      ?>

    • By Rengavitp
      Boa noite pessoal, preciso ajuda com o script abaixo, ele 'e para baixar arquivos do site, ele baixa, mas o arquivo fica sempre corrompido e nao abre, (arquivos sao pdfs). Alguem pode me ajuda?
       
      <?php // Define o tempo máximo de execução em 0 para as conexões lentas set_time_limit(0); // Arqui você faz as validações e/ou pega os dados do banco de dados $aquivoNome = '62708_1.pdf'; // nome do arquivo que será enviado p/ download $arquivoLocal = '../../danfe/'.$aquivoNome; // caminho absoluto do arquivo // Verifica se o arquivo não existe if (!file_exists($arquivoLocal)) { echo "arquivo nao encontrado!"; // Exiba uma mensagem de erro caso ele não exista exit; } // Aqui você pode aumentar o contador de downloads // Definimos o novo nome do arquivo $novoNome = 'danfe.pdf'; // Configuramos os headers que serão enviados para o browser header('Content-Description: File Transfer'); header('Content-Disposition: attachment; filename="'.$novoNome.'"'); header('Content-Type: application/octet-stream'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($aquivoNome)); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Expires: 0'); // Envia o arquivo para o cliente readfile($aquivoNome); ?>  
    • By jonathasouza
      Gostaria de colocar um botão que quando clicasse no enviar do Modal enviasse o valor $nome do PHP na tabela e que o $nome não ficasse aparecendo na tabela sem que que fizesse essa solicitação pelo botão, alguém poderia me ajudar?
       

          <?php
      $nome = isset($_GET["nome"])? $_GET["nome"]:null;
      $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null;
      $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null;
      $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null;
      $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null;
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`";
      if (mysqli_query($conexao, $query))
          { ?>
       

                                  <?php
      $conexao = mysqli_connect('localhost', 'root', '', 'analistas');
      if(mysqli_connect_errno($conexao)){
      echo 'Failed to connecto to database'.mysqli_connect_error();}

      $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem");
      ?>
                                  <?php while($rows = mysqli_fetch_array($query)): ?>
                                  <tr>
                                      <td><?php echo $rows['solicitacao']; ?></td>
                                      <td><?php echo $rows['prioridade']; ?></td>
                                      <td></td>
                                      <td></td>
                                      <td><?php echo $rows['orgao']; ?></td>
                                      <td><?php echo $rows['nome']; ?></td>
                                      <td></td>
                                  </tr>
                                  <?php endwhile; ?>
                              </tbody>
                          </table>
       
                          <!-- Modal -->
                          <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                              <div class="modal-dialog" role="document">
                                  <div class="modal-content">
                                      <div class="modal-header">
                                          <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                          <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4>
                                      </div>
                                      <div class="modal-body">
                                          <div class="insertHere">
                                          </div>
                                      </div>
                                      <div class="modal-footer">
                                          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                                          <button class="btn btn-success" type="submit" data-dismiss="modal" onclick="generate()">Confirmar</button>
                                      </div>
                                  </div>
                              </div>
                          </div>
×

Important Information

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