Foros del Web » Programando para Internet » PHP »

XML y PHP

Estas en el tema de XML y PHP en el foro de PHP en Foros del Web. Hola a [email protected], es la primera primera vez que posteo en este foro asi que un saludo general! Estoy intentando actualizar un archivo XML desde ...
  #1 (permalink)  
Antiguo 15/03/2010, 11:38
 
Fecha de Ingreso: octubre-2009
Mensajes: 17
Antigüedad: 10 años, 2 meses
Puntos: 0
XML y PHP

Hola a [email protected], es la primera primera vez que posteo en este foro asi que un saludo general!
Estoy intentando actualizar un archivo XML desde PHP, la cosa seria poder añadirle nodos para una galeria que tengo en flash, hasta ahora he conseguido hacerlo sin problemas pero cuando hago esto:

Código PHP:
$NuevaGal = new SimpleXMLElement('galerias.xml'nulltrue);
    
//quito los espacios porque no me interesa que los tengan
    
$coleccion str_replace(" " ""$coleccion);
    
//creo el  primer nodo
    
$firstGal $NuevaGal->addChild($coleccion);
    
//le añado hijos
    
$nodoMin $firstGal->addChild($miniaturas);
    
$nodoMed $firstGal->addChild($mediaturas);
    
$nodoGran $firstGal->addChild($grandes);
    
$nodoTexto $firstGal->addChild($texto);
    
//header('Content-type: text/xml');
    //echo $NuevaGal->asXML();
    
$NuevaGal->asXML('galerias.xml'); 
me devuelve esto:

Código HTML:
<coleccion>
<miniaturas/>
<mediaturas/>
<grandes/>
<texto/>
<coleccion> 
cuando lo que necesito esto:

Código HTML:
<coleccion>
<miniaturas></miniaturas>
<mediaturas></mediaturas>
<grandes></grandes>
<texto></texto>
<coleccion> 
He probado a ponerle un atriburo a algun hijo para ver si cerraba la etiqueta de otra menera pero nada:

Código PHP:
$attMin $nodoMin->addAttribute("tipo""min"); 
y sale:

Código HTML:
<miniaturas tipo="min"/> 
gracias de antemano,

un saludo

LaloP

Última edición por lalopalos; 15/03/2010 a las 11:45 Razón: quiero borrarlo esta duplicado
  #2 (permalink)  
Antiguo 15/03/2010, 13:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 7 meses
Puntos: 2534
Respuesta: XML y PHP

ya has leído el manual de SimpleXML ??
http://php.net/simplexml
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 15/03/2010, 14:22
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 10 años, 6 meses
Puntos: 24
Respuesta: XML y PHP

No hay diferencia entre las salidas que mencionás. Si los nodos no tienen un text node dentro, no hay porque imprimirlo como pretendés.
  #4 (permalink)  
Antiguo 15/03/2010, 15:36
 
Fecha de Ingreso: octubre-2009
Mensajes: 17
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: XML y PHP

Hola, gracias por las respuestas,

pateketrueke: Si lo he visto y no he encontrado nada en este sentido, si lo has visto podrias indicarme donde para que lo lea.

bng5: ya se que no hay diferencia en el sentido que dices, pero es que dentro de los nodos que he puesto antes (miniaturas,mediaturas y grandes) es donde posteriormente quiero poner las rutas hacia las imagenes y no quiero que sean atributos, si no nodos independientes cerrados como os comento. Ademas es la esructura que ya tengo funcionando con el archivo flash y preferiria no tocarla solo por este detalle ya que cuento con varias galerias y tendria que cambiar algunas cosas.

Asi es como me gustaria que quedase al final:

Código HTML:
<coleccion>

		<miniaturas>

			<imgGaleria0 imagen="img/col1/miniaturas/01.jpg" />

			<imgGaleria1 imagen="img/col1/miniaturas/02.jpg"/>

			<imgGaleria2 imagen="img/col1/miniaturas/03.jpg"/>

			<imgGaleria4 imagen="img/col1/miniaturas/04.jpg"/>

		</miniaturas>
 etc etc

Gracias,

Saludos,

LaloP
  #5 (permalink)  
Antiguo 15/03/2010, 15:48
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 10 años, 6 meses
Puntos: 24
Respuesta: XML y PHP

Nunca usé SimpleXMLElement, yo uso DOM, pero en este ejemplo no parece ser muy diferente.
En cuanto le agregues un hijo a 'miniaturas' dejará de salirte
Código:
<miniaturas />
para salirte

Código:
<miniaturas>
  <Hijo />
</miniaturas>

Etiquetas: 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:42.