Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2013, 16:26
desarrollo1186
Invitado
 
Mensajes: n/a
Puntos:
Mensaje Leer Nodos de un XML con PHP

Hola amigos soy nuevo en el foro y quisiera que me ayuden

estoy tratando de leer un XML CFD con php, los nodos como son: comprobante, emisor, receptor y complementos los leo sin problemas, pero lo que no consigo leer es la addenda.

la addenda la quiero leer para extraer unos datos.



<Addenda>
<otro:AddendaHuesped FolioInterno="12304" FechaEntrada="22/04/2013" FechaSalida="25/04/2013" Habitacion="112" Personas="1" Ninios="0" Tarifa="TARIFA COMERCIAL DIRECTA" ImporteTarifa="1085.60" Email="[email protected]" Propina="0.00" />
</Addenda>


este es mi codigo
Cita:
$objejemplo = simplexml_load_file($archivador2);
$arrejemplo= get_object_vars ($objejemplo);
$xml = simplexml_load_file($archivador2);
$ns = $xml->getNamespaces(true);
$xml->registerXPathNamespace('i', $ns['implocal']);




$version = trim ($arrejemplo["@attributes"]['version']);
$fecha = trim ($arrejemplo["@attributes"]['fecha']);
$serie = trim ($arrejemplo["@attributes"]['serie']);
$folio = trim ($arrejemplo["@attributes"]['folio']);
$sello = trim ($arrejemplo["@attributes"]['sello']);
$total = trim ($arrejemplo["@attributes"]['total']);
$subTotal = trim ($arrejemplo["@attributes"]['subTotal']);
$certificado = trim ($arrejemplo["@attributes"]['certificado']);
$formaDePago = trim ($arrejemplo["@attributes"]['formaDePago']);
$noCertificado = trim ($arrejemplo["@attributes"]['noCertificado']);
$tipoDeComprobante = trim ($arrejemplo["@attributes"]['tipoDeComprobante']);
$LugarExpedicion = trim ($arrejemplo["@attributes"]['LugarExpedicion']);
$metodoDePago = trim ($arrejemplo["@attributes"]['metodoDePago']);
$NumCtaPago = trim ($arrejemplo["@attributes"]['NumCtaPago']);
$descuento = trim ($arrejemplo["@attributes"]['descuento']);
$TipoCambio = trim ($arrejemplo["@attributes"]['TipoCambio']);
$noAprobacion = trim ($arrejemplo["@attributes"]['noAprobacion']);
$anoAprobacion = trim ($arrejemplo["@attributes"]['anoAprobacion']);
$Moneda = trim ($arrejemplo["@attributes"]['Moneda']);



//EMISOR
#Convierte objeto Emisor en array

$arrejemplo = get_object_vars ($objejemplo->{'Emisor'});
$rfc = trim($arrejemplo["@attributes"]['rfc']);
$nombre = trim($arrejemplo["@attributes"]['nombre']);


//DomicilioFiscaL
#Convierte objeto Emisor en array
$arrejemplo = get_object_vars ($objejemplo->{'Emisor'}->{'DomicilioFiscal'});

$pais= trim($arrejemplo["@attributes"]['pais']);
$calle= trim($arrejemplo["@attributes"]['calle']);
$estado= trim($arrejemplo["@attributes"]['estado']);
$colonia= trim($arrejemplo["@attributes"]['colonia']);
$municipio =trim($arrejemplo["@attributes"]['municipio']);
$noExterior= trim($arrejemplo["@attributes"]['noExterior']);
$codigoPostal = trim($arrejemplo["@attributes"]['codigoPostal']);

////REGIMEN
$arrejemplo = get_object_vars ($objejemplo->{'Emisor'}->{'RegimenFiscal'});

$Regimen= trim($arrejemplo["@attributes"]['Regimen']);

///EXPEDIDO EN

$arrejemplo = get_object_vars ($objejemplo->{'Emisor'}->{'ExpedidoEn'});
$calleex= trim($arrejemplo["@attributes"]['calle']);
$noExteriorex= trim($arrejemplo["@attributes"]['noExterior']);
$coloniaex= trim($arrejemplo["@attributes"]['colonia']);
$municipioex= trim($arrejemplo["@attributes"]['municipio']);
$estadoex= trim($arrejemplo["@attributes"]['estado']);
$paisex= trim($arrejemplo["@attributes"]['pais']);
$codigoPostalex= trim($arrejemplo["@attributes"]['codigoPostal']);

///RECEPTOR

$arrejemplo = get_object_vars ($objejemplo->{'Receptor'});
$rfcre = trim($arrejemplo["@attributes"]['rfc']);
$nombrere = trim($arrejemplo["@attributes"]['nombre']);

///RECEPTOR DOMICILIO

$arrejemplo = get_object_vars ($objejemplo->{'Receptor'}->{'Domicilio'});
$callere = trim($arrejemplo["@attributes"]['calle']);
$coloniare = trim($arrejemplo["@attributes"]['colonia']);
$municipiore = trim($arrejemplo["@attributes"]['municipio']);
$estadore = trim($arrejemplo["@attributes"]['estado']);
$paisre = trim($arrejemplo["@attributes"]['pais']);
$codigoPostalre = trim($arrejemplo["@attributes"]['codigoPostal']);

/////CONSEPTOS

$arrejemplo = get_object_vars ($objejemplo->{'Conceptos'}->{'Concepto'});
$cantidad = trim($arrejemplo["@attributes"]['cantidad']);
$unidad = trim($arrejemplo["@attributes"]['unidad']);
$descripcion = trim($arrejemplo["@attributes"]['descripcion']);
$valorUnitario = trim($arrejemplo["@attributes"]['valorUnitario']);
$importe = trim($arrejemplo["@attributes"]['importe']);
//// IVA

$arrejemplo = get_object_vars ($objejemplo->{'Impuestos'}->{'Traslados'}->{'Traslado'});
$impuestoiva = trim($arrejemplo["@attributes"]['impuesto']);
$impuestotasa = trim($arrejemplo["@attributes"]['tasa']);
$impuestoimporte = trim($arrejemplo["@attributes"]['importe']);


////ISH OTROS

foreach ($xml->xpath('//i:TrasladosLocales') as $implocal) {
$ImpLocTrasladado= trim($implocal['ImpLocTrasladado']);
$TasadeTraslado= trim($implocal['TasadeTraslado']);
$TasaImporte= trim($implocal['Importe']);
}

foreach ($xml->xpath('//i:ImpuestosLocales') as $implocal) {
$TotaldeRetenciones= trim($implocal['TotaldeRetenciones']);
$TotaldeTraslados= trim($implocal['TotaldeTraslados']);
}
lo que pretendo es leer el nodo addenda y despues imprimir sus atributos con PHP

ejemplo

Cita:
ADDENDA

FolioInterno="12304"
FechaEntrada="22/04/2013"
FechaSalida="25/04/2013"
Habitacion="112"
etc..
saludos,