Código PHP:
<?php
$xml = file_get_contents("facturas/tmp/00100001010000006754_A.xml");
$DOM = new DOMDocument('1.0','utf-8');
$DOM->loadXML($xml);
$factura_xml = $DOM->getElementsByTagName('FacturaElectronica');
foreach($factura_xml as $factura){
$idElem = $factura->getElementsByTagName('Emisor');
$nombre = $factura->getElementsByTagName('NombreComercial')->item(0)->nodeValue;
foreach($idElem as $hijo){
$ced = $hijo->getElementsByTagName('Identificacion');
foreach($ced as $cedulita){
$cedul = $cedulita->getElementsByTagName('Numero')->item(0)->nodeValue;
}
}
}
echo $nombre." / ".$cedul;
?>
Código XML:
Ver original
<?xml version="1.0" encoding="utf-8"?> <FacturaElectronica xmlns="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/facturaElectronica" xsi:schemaLocation="https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/facturaElectronica https://tribunet.hacienda.go.cr/docs/esquemas/2017/v4.2/facturaElectronica.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Clave>50601111800310106021400100001010000006754100616887</Clave> <NumeroConsecutivo>00100001010000006754</NumeroConsecutivo> <FechaEmision>2018-11-01T00:00:00</FechaEmision> <Emisor> <Nombre>Grupo El Electrico S.A.</Nombre> <Identificacion> <Tipo>02</Tipo> <Numero>3101060214</Numero> </Identificacion> <NombreComercial>Grupo El Electrico S.A.</NombreComercial> <Ubicacion> <Provincia>1</Provincia> <Canton>01</Canton> <Distrito>06</Distrito> <Barrio>16</Barrio> <OtrasSenas>San Jose,San Jose,San Francisco,Los Sauces</OtrasSenas> </Ubicacion> <Telefono> <CodigoPais>506</CodigoPais> <NumTelefono>40551755</NumTelefono> </Telefono> <Fax> <CodigoPais>506</CodigoPais> <NumTelefono>26657676</NumTelefono> </Fax> </Emisor> </FacturaElectronica>
Como dije antes el codigo me funciona, sin embargo lo que busco es mejorar ese codigo, quizas hacerlo mas corto o mas optimizado, por eso les pregunto a ustedes para que me den sus respectivas mejoras y las explicaciones de ellas.
gracias