Lo primero que necesitas es contar con tu CFDI sin timbrar y con éste archivo que nos proporciona el SAT podrás ejecutarlo para leer el contenido del XML. Y al final con la clase de PHP XSLTProcessor podrás saber si es válido o no tu XML.
Los comandos que necesitas son:
mb_check_encoding($nombre_tu_xml, “UTF-8″); //validar que este en formato UTF-8
$tu_instancia_del_DOM->schemaValidate(‘UBICACION-DEL-cfdv3.xsd’)
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( ‘UBICACION-cadenaoriginal_3_0.xslt’, LIBXML_NOCDATA);
$cadena = $xslt->transformToXML( );
Para instalar la clase XSLTProcessor solamente necesitas ejecutar en consola el siguiente comando:
apt-get install php5-xsl
No olvides que el SAT también proporciona su lista de validadores para aquellos que no son desarrolladores.
Cualquier duda en los comentarios.
Otros usuarios también llegaron aquí buscando:
metodo para leer cfdi (2), cfdi xml php (1), generar cfdi php (1), leer cfdi php (1), timbrar y generar cfdi php (1), validar sello cfdi en php (1)