Foros del Web » Programando para Internet » PHP »

como escribir añadir lineas a un archivo XML con PHP

Estas en el tema de como escribir añadir lineas a un archivo XML con PHP en el foro de PHP en Foros del Web. El archivo XML que deseo modificar es este: <?xml version="1.0" encoding="utf-8"?> <bcaster> <item item_url="images/1.png" link="" itemtitle="" /> <item item_url="images/2.png" link="" itemtitle="" /> </bcaster> y lo ...
  #1 (permalink)  
Antiguo 12/10/2007, 09:49
 
Fecha de Ingreso: octubre-2007
Mensajes: 2
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta como escribir añadir lineas a un archivo XML con PHP

El archivo XML que deseo modificar es este:

<?xml version="1.0" encoding="utf-8"?>
<bcaster>
<item item_url="images/1.png" link="" itemtitle="" />
<item item_url="images/2.png" link="" itemtitle="" />
</bcaster>

y lo que deseo es poder añadir varios items ejemplo:

<?xml version="1.0" encoding="utf-8"?>
<bcaster>
<item item_url="images/1.png" link="" itemtitle="" />
<item item_url="images/2.png" link="" itemtitle="" />
<item item_url="images/3.png" link="" itemtitle="" />
<item item_url="images/4.png" link="" itemtitle="" />
<item item_url="images/5.png" link="" itemtitle="" />
</bcaster>



El Script que he genarado es este
<?PHP
$archivo = fopen("slideshow5393312.xml" , "w");
if ($archivo)
{
fputs ($archivo, "<?xml version="1.0" encoding="utf-8"?>");ERROR
fputs ($archivo, "<bcaster>");
fputs ($archivo, "<item item_url="images/1.png" link="" itemtitle="" />"); ERROR
fputs ($archivo, "</bcaster>");

}
fclose ($archivo);
?>


Donde Marque Error con rojo y en mayuscula es donde se me da el inconveniente cuando compilo en mi navegador,parece ser por que en el momento que deseo escribir el documento xml lo escribo con " " y dentro de estas comillas dobles incluyo otras comillas dobles mas las cuales parece provocan un error.

Por favor como puedo incluir lineas <item item_url="images/2.png" link="" itemtitle="" /> mediante un script al documento XML.

Agradezco la Colaboracion que me puedan prestar.
  #2 (permalink)  
Antiguo 12/10/2007, 11:30
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: como escribir añadir lineas a un archivo XML con PHP

Código PHP:
<?PHP
$archivo 
fopen("slideshow5393312.xml" "w");
if (
$archivo)
{
fputs ($archivo'<?xml version="1.0" encoding="utf-8"?>');
fputs ($archivo"<bcaster>");
fputs ($archivo'<item item_url="http://www.forosdelweb.com/images/1.png" link="" itemtitle="" />');
fputs ($archivo"</bcaster>");

}
fclose ($archivo);
?>
Ahi esta corregido lo de los errores supongo.

Para agregar items una manera sencilla seria:

1- Tomar todo el contenido del XML actual con file_gen_contents o similar.
2- Colocar en una variable todos los items que vas a agregar.
3- Reemplazar en la variable obtenida en el primer punto, el texto "</bcaster>" por el contenido de la variable obtenida en el segundo punto.
4- Concatenar al final "</bcaster>". $variable .= "</bcaster>";
5- Sobreescribir el archio original por otro completamente nuevo que contenga el contenido logrado en el punto cuatro.

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 12/10/2007 a las 11:37
  #3 (permalink)  
Antiguo 12/10/2007, 11:38
Avatar de Sergestux  
Fecha de Ingreso: agosto-2007
Ubicación: Tapachula
Mensajes: 1.218
Antigüedad: 16 años, 8 meses
Puntos: 20
Re: como escribir añadir lineas a un archivo XML con PHP

Para escribir comillas dobles dentro de comillas dobles se debe usar \" en las comillas internas...
Código PHP:
             fputs ($archivo, "<?xml version="1.0\" encoding=\"utf-8\"?>");
o tambien prueba poner comillas simples en vez de las dobles o sea algo asi como:
Código PHP:
             fputs ($archivo, "<?xml version='1.0' encoding='utf-8'?>");
  #4 (permalink)  
Antiguo 20/11/2007, 13:38
 
Fecha de Ingreso: noviembre-2007
Mensajes: 1
Antigüedad: 16 años, 5 meses
Puntos: 0
Como escribir añadir lineas a un archivo XML con PHP

Hola que tal?, me parecio muy interesante la forma de resolver el script, pero me podrias explicar (si es posible con un ejemplo la forma de usar el file_get_contents) justo como lo explicaste en los 5 pasos anteriores. Te lo agradeceria mucho, estoy haciendo un codigo PHP y necesito añadir lineas al XML.

Gracias de antemano y suerte!!!
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 04:27.