Foros del Web » Programando para Internet » PHP »

Leer Nodos de un XML con PHP

Estas en el tema de Leer Nodos de un XML con PHP en el foro de PHP en Foros del Web. 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: ...
  #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,
  #2 (permalink)  
Antiguo 14/05/2013, 19:32
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Leer Nodos de un XML con PHP

<saludos>
Y si se obtiene el nodo Addenda y se imprime su contenido que muestra?
Debería mostrar el contenido completo, y si es así,
entonces lo que se debe hacer es recorrer esta variable
como si de otro array se tratase.
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: nodos, xml
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 18:52.