Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

recorrer xml con simpleXml

Estas en el tema de recorrer xml con simpleXml en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente, quiero recorrer esta lista de editores para obtener el id: <xml><tituloBibliograficas> <editor> <id>1</id> </editor> <editor> <id>2</id> </editor> <editor> <id>3</id> </editor> </tituloBibliograficas></xml> Lo hago ...
  #1 (permalink)  
Antiguo 02/01/2008, 11:15
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
recorrer xml con simpleXml

Hola gente, quiero recorrer esta lista de editores para obtener el id:
<xml><tituloBibliograficas>
<editor>
<id>1</id>
</editor>
<editor>
<id>2</id>
</editor>
<editor>
<id>3</id>
</editor>
</tituloBibliograficas></xml>

Lo hago de la siguiente manera, pero no funciona…

Código PHP:
function SetEditores($stringXml)
    {
        
$xmlsimplexml_load_string($stringXml);
        foreach (
$xml->tituloBibliograficas[0]->editor as $ED)
        {
            
$editor= new editor();
            
$editor->setId($ED->id);
            
$this->listaEditores->attach($editor);
        }

    } 
Donde esta el error?
Desde ya muchas gracias
  #2 (permalink)  
Antiguo 02/01/2008, 11:45
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Re: recorrer xml con simpleXml

Código PHP:
<?php

class setEdit{
    public 
$xmlId;
    
    public function 
SetEditores($stringXml){
        
$xmlsimplexml_load_string($stringXml);
        
        foreach (
$xml->tituloBibliograficas[0] as $ED){
            
$this->xmlId[] = $ED->id;
            
        }
    }  
    
    public function 
getId(){
        
        return 
$this->xmlId;
    }
}
    
$string = <<<XML
            <xml>
                <tituloBibliograficas>
                    <editor>    
                        <id>1</id>
                    </editor>
                    <editor>
                        <id>2</id>
                    </editor>
                    <editor>
                        <id>3</id>
                    </editor>
                </tituloBibliograficas>
            </xml>

XML;

$xmlClass = new setEdit();
$xmlClass->SetEditores($string);
$id $xmlClass->getId();

foreach(
$id as $ids){
    echo 
"Id: ".$ids."<br />";
}
?>
  #3 (permalink)  
Antiguo 02/01/2008, 12:43
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: recorrer xml con simpleXml

Gracias por la respuesta, veo que el ejemplo que me pasaste funciona bien, pero cuando quiero adaptarlo a mi código, sigue sin cargarme las listas.
así me quedo el código agregando tus aportes:


Código PHP:
function SetEditores($stringXml)
    {
        
$xmlsimplexml_load_string($stringXml);
        foreach (
$xml->tituloBibliograficas[0] as $ED)
         {
            
$editor= new editor();
            
$editor->setId($ED->id);
            
$this->listaEditores->attach($editor);
        }
    } 
Saludos
  #4 (permalink)  
Antiguo 02/01/2008, 13:03
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Re: recorrer xml con simpleXml

Es que claro que no va a funccionar es que no existe una clase llamada "editor" :)

Código PHP:
$editor= new editor(); 
Saludos bulter
  #5 (permalink)  
Antiguo 03/01/2008, 05:46
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: recorrer xml con simpleXml

Hola.
No tengo problemas con esa clase, ya que existe, y el objeto se crea bien, hay algo que no estoy haciendo bien con el xml
  #6 (permalink)  
Antiguo 03/01/2008, 05:50
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Re: recorrer xml con simpleXml

Vale pues entonces no me entero del problema que tienes :/

Código PHP:
$this->listaEditores->attach($editor); 
Aqui tampoco veo donde has definido $this->listaEditores
  #7 (permalink)  
Antiguo 03/01/2008, 06:31
Avatar de Jesica  
Fecha de Ingreso: agosto-2007
Mensajes: 78
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: recorrer xml con simpleXml

Bueno, Muchas gracias por tu participacion!!!

por suerte ya encontre el error, estaba bien como lo hice en un principio, acá, en el foro lo pase bien, pero en realidad, en el xml tenia la etiqueta Editor con mayuscula:
<Editor><id>1</id></Editor>
y en el foreach con minuscula:
foreach ($xml->tituloBibliograficas[0]->editor as $ED)

Gracias por tu tiempo
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 14:22.