validarXml
Valida qualquer xml do sistema NFe com seu xsd
NOTA: caso não exista um arquivo xsd apropriado retorna false
public validarXml ( string $xml = '' ) : boolean | ||
$xml | string | path ou conteudo do xml |
return | boolean |
$infCpl = 'Trib aprox R$: 2,09 Federal e R$: 1,20 Estadual Fonte: IBPT 5oi7eW 15.2.A.'; //tag infAdic $resp = $nfe->taginfAdic($infAdFisco, $infCpl); //monta a NFe e retorna na tela $resp = $nfe->montaNFe(); if ($resp) { $xml = $nfe->getXML(); $filename = "/var/www/nfe/homologacao/entradas/{$chave}-nfe.xml"; file_put_contents($filename, $xml); chmod($filename, 0777); //assina $xml = $tools->assina($xml); $filename = "/var/www/nfe/homologacao/assinadas/{$chave}-nfe.xml"; file_put_contents($filename, $xml); chmod($filename, 0777); if (!$tools->validarXml($xml)) { echo 'Eita !?! Tem bicho na linha .... <br>'; foreach ($tools->errors as $erro) { foreach ($erro as $err) { echo "{$err} <br>"; } } } else { header('Content-type: text/xml; charset=UTF-8'); echo $xml; } } else { header('Content-type: text/html; charset=UTF-8'); foreach ($nfe->erros as $err) { echo 'tag: <' . $err['tag'] . '> ---- ' . $err['desc'] . '<br>'; }
$resp = $nfe->montaNFe(); if ($resp) { $xml = $nfe->getXML(); //$filename = "/var/www/nfe/homologacao/entradas/{$chave}-nfe.xml"; // Ambiente Linux $filename = "D:/xampp/htdocs/GIT-nfephp-org/nfephp/xmls/NF-e/homologacao/entradas/{$chave}-nfe.xml"; // Ambiente Windows file_put_contents($filename, $xml); chmod($filename, 0777); //Assina (e gera o QR-Code...) $xml = $nfeTools->assina($xml); //$filename = "/var/www/nfe/homologacao/assinadas/{$chave}-nfe.xml"; // Ambiente Linux $filename = "D:/xampp/htdocs/GIT-nfephp-org/nfephp/xmls/NF-e/homologacao/assinadas/{$chave}-nfe.xml"; // Ambiente Windows file_put_contents($filename, $xml); chmod($filename, 0777); if (!$nfeTools->validarXml($xml) || sizeof($nfeTools->errors)) { echo "<h3>Eita !?! Tem bicho na linha .... </h3>"; foreach ($nfeTools->errors as $erro) { if (is_array($erro)) { foreach ($erro as $err) { echo "{$err} <br>"; } } else { echo "{$erro} <br>"; } } exit; } else { header('Content-type: text/xml; charset=UTF-8'); echo $xml; }
<?php error_reporting(E_ALL); ini_set('display_errors', 'On'); include_once '../../bootstrap.php'; use NFePHP\NFe\ToolsNFe; $nfe = new ToolsNFe('../../config/config.json'); $nfe->setModelo('55'); $chave = '35150458716523000119550010000000131000000139'; $tpAmb = '2'; $xml = "/var/www/nfe/homologacao/assinadas/{$chave}-nfe.xml"; if (!$nfe->validarXml($xml)) { echo "Eita !?! Tem bicho na linha .... <br>"; foreach ($nfe->errors as $erro) { echo "{$erro} <br>"; } exit; } echo "NFe Valida !";