validarXml() public method

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: &lt;' . $err['tag'] . '&gt; ---- ' . $err['desc'] . '<br>';
    }
Exemplo n.º 2
0
$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;
    }
Exemplo n.º 3
0
<?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 !";