Foros del Web » Programando para Internet » PHP »

XML - Namespace - XPath - PHP con HTML

Estas en el tema de XML - Namespace - XPath - PHP con HTML en el foro de PHP en Foros del Web. Hola, buen día, voy iniciando en esto de la programación y tengo una duda, espero me puedan ayudar, y así esto sirva para ayudar a ...
  #1 (permalink)  
Antiguo 24/08/2015, 10:16
 
Fecha de Ingreso: agosto-2015
Mensajes: 1
Antigüedad: 8 años, 7 meses
Puntos: 0
Información XML - Namespace - XPath - PHP con HTML

Hola, buen día, voy iniciando en esto de la programación y tengo una duda, espero me puedan ayudar, y así esto sirva para ayudar a los demás, aquí la cuestión.

Estoy haciendo un lector de documentos XML, solo que necesito leer "n" números de documentos a la vez, el usuario agregara desde una carpeta en su ordenador los documentos. En una ventana, tengo la parte del código para que el usuario agrege los documentos (<input type="file" multiple="true" placeholder="Anexar XML">), pero en el PHP para leer los documentos, quisiera que apareciera automaticamente los documentos en esta parte del código:

<?php
$xml = simplexml_load_file('(AQUÍ ES DONDE QUISIERA QUE APARECIERAN TODOS LOS XML, QUE SE AGREGARON EN EL input type="file").xml', null, true)
or die('Error al cargar XML');
//var_dump($xml);
$ns = $xml->getNamespaces(true);
$xml->registerXPathNamespace('c', $ns['cfdi']);
$xml->registerXPathNamespace('t', $ns['tfd']);


foreach ($xml->xpath('//cfdi:Comprobante') as $cfdiComprobante)
{
echo $cfdiComprobante['serie'];
echo $cfdiComprobante['folio'];
echo "<br />";
echo $cfdiComprobante['fecha'];
echo "<br />";
echo $cfdiComprobante['subTotal'];
echo "<br />";
echo $cfdiComprobante['total'];
echo "<br />";
echo "<br />";
echo "<br />";
}

foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Emisor') as $Emisor)
{
echo $Emisor['rfc'];
echo "<br />";
echo $Emisor['nombre'];
echo "<br />";
}

foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Emisor//cfdi:DomicilioFiscal') as $DomicilioFiscal)
{
echo $DomicilioFiscal['calle'];
echo "<br />";
echo $DomicilioFiscal['noExterior'];
echo "<br />";
echo $DomicilioFiscal['colonia'];
echo "<br />";
echo $DomicilioFiscal['municipio'];
echo "<br />";
echo $DomicilioFiscal['estado'];
echo "<br />";
echo $DomicilioFiscal['codigoPostal'];
echo "<br />";
}

foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Conceptos//cfdi:Concepto') as $Concepto)
{
echo "<br />";
echo $Concepto['cantidad'];
echo "<br />";
echo $Concepto['unidad'];
echo "<br />";
echo $Concepto['noIdentificacion'];
echo "<br />";
echo $Concepto['descripcion'];
echo "<br />";
echo $Concepto['valorUnitario'];
echo "<br />";
echo $Concepto['importe'];
echo "<br />";
echo "<br />";
}

foreach ($xml->xpath('//cfdi:Comprobante//cfdi:Impuestos//cfdi:Traslados//cfdi:Traslado') as $Traslado)
{
echo $Traslado['importe'];
echo "<br />";
echo "<br />";
}



foreach ($xml->xpath('//t:TimbreFiscalDigital') as $tfd)
{
echo $tfd['FechaTimbrado'];
echo "<br />";
}

?>

Alguien sabe si es posible, y de serlo, como se puede implementar?
Mi parte del código funciona, ya lo utilice, pero funciona solo con un .xml, para el que le sirva, lo aplique.
Saludos y buen día.
Anel

Etiquetas: fecha, html, namespace, xml, xpath
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:28.