Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/07/2013, 12:26
Iram5328
 
Fecha de Ingreso: octubre-2012
Mensajes: 28
Antigüedad: 12 años
Puntos: 2
Respuesta: Leer XML Namespace con PHP

Hola, buen día, pues ya pude solucionar mi problema, posteo la solución por si alguien más tiene este problema:

Código PHP:
<?php
$folio
="0000245";
 
$doc = new DOMDocument();
  
$doc->load"../facturacion/soap-response".$folio."f.xml");
  
$xml $doc->getElementsByTagName"XML" );

  
$result $xml->item(0)->nodeValue;
  
$dom = new DOMDocument;

// load the XML string defined above
$dom->loadXML($result);

foreach (
$dom->getElementsByTagNameNS('http://www.sat.gob.mx/TimbreFiscalDigital''*') as $element) {
    echo 
'local name: '$element->localName', prefix: '$element->prefix"\n";
    echo 
'UUID: '$element->getAttribute('UUID');
}
?>
Explico:
1. primero obtengo de un xml más grande, los datos que están dentro de una etiqueta XML (xml posteado al inicio)
2. Despué con $dom->loadXML($result); cargo todo ese xml encontrado entres las etiquetas XML
3. Con getElementsByTagNameNS y foreach busco en todo el documento los elementos del Namespace asociado con la dirección que le pertenece (http://www.sat.gob.mx/TimbreFiscalDigital)
4. Para fines de prueba imprimo su nombre local usando $element->localName y el prefijo que usa con $element->prefix
5. Por último obtengo el valor del atributo echo 'UUID: ', $element->getAttribute('UUID'); a partir de los elementos del Namespace que elegí

Espero sea de ayuda para alguien más.