PHP - Leer estructura XML

 
Vista:
sin imagen de perfil

Leer estructura XML

Publicado por yeison asdrubal soto garcia (2 intervenciones) el 14/08/2014 21:05:26
Buenas tardes amigos de la web del programador.

Tengo este trozo de código XML que genera un WebService.

1
2
3
4
5
6
7
8
9
10
11
<PerfilGeneral>
	<CreditosVfgentes totalComoCodeudorYOtros= "0" totalComoPrincipal= " 2" sectorTelcos= "0"  sectorReal= "0" sectorCooperativo= "0" sectorFinanciero= "2" />
	<CreditosCerrados totalComoCodeudorYOtros= "0" totalComoPrincipal= "5" sectorTelcos= "O" sectorReal= "2"  sectorCooperativo= "1" sectorFinanciero= "4"/>
	<CredltosReestructurados totalComoCodeudorYOtros= "3" totalComoPrincipal="3" sectorTelcos= "3" sectorReal="0" sectorCooperativo ="0"
	sectorFinanciero="0"/ >
	<CreditosRefinanaados totalComoCodeudorYOtros= "0" totalComoPnncipal= "0" sectorTelcos= "0"  sectorReal= "0"  sectorCooperativo= "0"
	sectorFinanciero= "0"/>
	<ConsultaUlt6Meses totalComoCodeudorYOtros= "0"  totalComoPrincipal= "0" sectorTelcos= "0" sectorReal= "0"  sectorCooperativo= "0"  sectorFinanciero ="0"/>
	<Desacuerdos totalComoCodeudorYOtros= "0" totalComoPrincipal= "0" sectorTelcos=  "0" sectorReal= "0" sectorCooperativo= "0" sectorFinanciero= "0"/>
	<AntiguedadDesde sectorReal= "2001-12-31" sectorFinanciero= "1992-12-31"/>
<PerfilGeneral>

Como puedo llerlo con php y acceder a cada uno de sus atributos y sus valores

Gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Leer estructura XML

Publicado por Yeison Soto (2 intervenciones) el 03/09/2014 20:55:32
Funciona perfecto para recorrer estructuras xml inclusive con varios niveles accede a cada uno de ellos.

Ahora quiero hacer algo:

Quiero que vaya concatenando los nombres de los nodos a medida que va accediendo a ellos así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function fnRecorreXmlRecursivo($xmlObj, $depth = 0) {
        if ($depth == 0) {
            $this->padre = $xmlObj->children()->getName();
          }
        $anterior = $xmlObj;
        foreach ($xmlObj->children() as $hijo) {//caracteristica
            echo "<br>";
            if (count($hijo->children()) <= 0) {//No  tiene hijos
                echo str_repeat('-', $depth) . "<strong>" . $this->padre . $anterior->getName() . $hijo->getName() . "</strong>_<strong></strong>";// . $hijo->getName();
            } else {
                echo str_repeat('-', $depth) . "<strong>" . $anterior->getName() . $hijo->getName() . "</strong>_";
            }
            foreach ($hijo->attributes() as $attr) {
                echo $attr->getName() . "|" . $attr . ";";
            }
            $this->fnRecorreXmlRecursivo($hijo, $depth + 1);
        }
    }




pero hay partes como por ejemplo CuentaAhorroValores
que deria aparecer como InformeCuentaAhorroValores

y InformeValoresValor como InformeCuentaAhorroValoresValor

alguien me puede colaborar con eso?

-InformeCuentaAhorro_bloqueada|true;entidad|123;numero|123;fechaApertura|2012-12-13;calificacion|123;situacionTitular|123;oficina|123;ciudad|123;codigoDaneCiudad|123;codSuscriptor|123;tipoIdentificacion|123;identificacion|123;sector|123;
--InformeCuentaAhorroCaracteristicas_clase|123;
--CuentaAhorroValores_
InformeValoresValor_moneda|123;creditosEfectivo|3.1415926535;debitosEfectivo|3.1415926535;creditosTransferencia|3.1415926535;debitosTransferencia|3.1415926535;fecha|2012-12-13;calificacion|123;
--InformeCuentaAhorroEstado_codigo|123;fecha|2012-12-13;
--CuentaAhorroReclamo_numero|123;tipoLeyenda|123;tipo|123;fecha|2012-12-13;estado|123;ratificado|true;numeroCuenta|123;texto|123;entidad|123;fechaCierre|2012-12-13;
---InformeReclamoSubtipo_codigo|123;nombre|123;
---InformeReclamoLlave_
--InformeCuentaAhorroAdjetivo_codigo|123;fecha|2012-12-13;
--InformeCuentaAhorroLlave_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar