Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problema con nodos de igual nombre

Estas en el tema de Problema con nodos de igual nombre en el foro de Programación General en Foros del Web. Hola a tod@s. Tengo un problema con un XML. La exportación, la recojo de una empresa externa, la cual no puede cambiar el formato de ...
  #1 (permalink)  
Antiguo 31/07/2007, 09:29
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Problema con nodos de igual nombre

Hola a tod@s.

Tengo un problema con un XML.

La exportación, la recojo de una empresa externa, la cual no puede cambiar el formato de su exportación.... (son muy estrictos los señoritos ).

Yo leo, recorro y parseo un XML, por medio de simplexml_load_file.

Mi estructura del XML, mas o menos es esta:
Código HTML:
<Registro>
    <Codigo>0114614</Codigo> 
    <Descripcion_Esp>MESA RED. GRIS CIRCULO 62 DIAM APROX.</Descripcion_Esp> 
    <Descripcion_Eng>ROUND GREY CIRCLE 62 DIAM APROX TABLE</Descripcion_Eng> 
    <Familias>
        <Familia>011</Familia> 
        <Nombre_Esp>MESAS DE HIERRO</Nombre_Esp> 
        <Nombre_Eng>MESAS DE HIERRO</Nombre_Eng> 
    </Familias>
    <Catalogo>SI</Catalogo> 
    <Minimo>0</Minimo> 
    <Largo>0</Largo> 
    <Ancho>0</Ancho> 
    <Diametro>62</Diametro> 
    <Alto>75</Alto> 
    <Disponible>3</Disponible> 
    <Comentarios>
        <Codigo>0114614</Codigo> 
        <Esp1>UNO</Esp1> 
        <Esp2>DOS</Esp2> 
        <Esp3>TRES</Esp3> 
        <Esp4>CUATRO</Esp4> 
        <Eng1>ONE</Eng1> 
        <Eng2>TWO</Eng2> 
        <Eng3>THREE</Eng3> 
        <Eng4>FOUR</Eng4> 
    </Comentarios>
    <Acabados>
        <Codigo>0114614</Codigo> 
        <acabado>0</acabado> 
        <nombre>MESA RED. GRIS CIRCULO 62 DIAM</nombre> 
        <Nacional>125.00</Nacional> 
        <Exportacion>140.00</Exportacion> 
        <PVP>250.00</PVP> 
    </Acabados>
    <Acabados>
        <Codigo>0114614</Codigo> 
        <acabado>1</acabado> 
        <nombre>NEGRO MATE BANDA MARFIL</nombre> 
        <Nacional>125.00</Nacional> 
        <Exportacion>140.00</Exportacion> 
        <PVP>250.00</PVP> 
    </Acabados>
    <Acabados>
        <Codigo>0114614</Codigo> 
        <acabado>2</acabado> 
        <nombre>MUJIL MARRON</nombre> 
        <Nacional>125.00</Nacional> 
        <Exportacion>140.00</Exportacion> 
        <PVP>250.00</PVP> 
    </Acabados>
</Registro> 
Todo va perfecto.. excepto al llegar a parsear los ACABADOS.

No se como obtener la COLECCIÓN de objetos de tipo ACABADOs, o de qué manera poder recorrerles.

Se que hay una cantidad máxima (maximo 9 acabados posibles), pero ni con ese detalle, no se como recorrer los posibles que haya.

Espero haberme explicado bien, y que alguien pueda ayudarme.

Gracias de antemano.

  #2 (permalink)  
Antiguo 31/07/2007, 10:26
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Re: Problema con nodos de igual nombre

Hola a tod@s de nuevo.

Creo que ya tengo la solución.

Sabiendo que son 9 elementos, he de recorrer el XML, haciendo un bucle y viendo si el elemento 0, 1, 2... tiene información.

Como muestra...
Código PHP:
// ACABADOS
for ($contAcabados=0;$contAcabados<9;$contAcabados++)
{
       
$acabados $element->Acabados[$contAcabados];
       if (
$acabados)
       {
             echo(
"<pre>");
             
var_dump($acabados);
             echo(
"</pre>");
       }

Espero que esto le pueda ser de ayuda a más gente...

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 13:14.