Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2005, 17:03
yconoclasta
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Generar XML y recuperar sus nodos, propiedades y contenidos

Saludos,

Hace tiempo publiqué un post previo http://forosdelweb.com/showthread.php?postid=1147644 preguntando cómo escribir un XML. Ahora necesito algo un tanto más complicado y de paso una revisión por si he hecho algo mal.

Tengo el siguiente código:

Código PHP:
<?
// concatenar las noticias
if(isset($_POST['Submit'])) {
$cont="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n<noticias>\n";
if(empty(
$texto1))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo1\" url=\"$liga1\">$texto1</noticia>\n";
}
if(empty(
$texto2))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo2\" url=\"$liga2\">$texto2</noticia>\n";
}
if(empty(
$texto3))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo3\" url=\"$liga3\">$texto3</noticia>\n";
}
if(empty(
$texto4))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo4\" url=\"$liga4\">$texto4</noticia>\n";
}
if(empty(
$texto5))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo5\" url=\"$liga5\">$texto5</noticia>\n";
}
if(empty(
$texto6))
    echo(
"");
    else {
$cont.="<noticia titulo=\"$titulo6\" url=\"$liga6\">$texto6</noticia>\n";
}
$cont.="</noticias>";

$abrir=fopen("noticias.xml""w");
fwrite($abrir$cont);
fclose($abrir);
}

?>

<h1>Escribir noticias</h1>
<form name="form1" id="form1" method="post" action="<?=$_SERVER['PHP_SELF'?>">
  <h2>Noticia 1 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo1" id="titulo1" /></p>
  <p>Liga: <input type="text" name="liga1" id="liga1" /></p>
  <p>Noticia: <textarea name="texto1" id="texto1" rows="3"></textarea></p>
  <h2>Noticia 2 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo2" id="titulo2" /></p>
  <p>Liga: <input type="text" name="liga2" id="liga2" /></p>
  <p>Noticia: <textarea name="texto2" id="texto2" rows="3"></textarea></p>
  <h2>Noticia 3 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo3" id="titulo3" /></p>
  <p>Liga: <input type="text" name="liga3" id="liga3" /></p>
  <p>Noticia: <textarea name="texto3" id="texto3" rows="3"></textarea></p>
  <h2>Noticia 4 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo4" id="titulo4" /></p>
  <p>Liga: <input type="text" name="liga4" id="liga4" /></p>
  <p>Noticia: <textarea name="texto4" id="texto4" rows="3"></textarea></p>
  <h2>Noticia 5 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo5" id="titulo5" /></p>
  <p>Liga: <input type="text" name="liga5" id="liga5" /></p>
  <p>Noticia: <textarea name="texto5" id="texto5" rows="3"></textarea></p>
  <h2>Noticia 6 </h2>
  <p>T&iacute;tulo: <input type="text" name="titulo6" id="titulo6" /></p>
  <p>Liga: <input type="text" name="liga6" id="liga6" /></p>
  <p>Noticia: <textarea name="texto6" id="texto6" rows="3"></textarea></p>
  <p><input type="submit" name="Submit" value="Agregar noticias" />
  </p>
</form>
La intención es que se puedan publicar las noticias, eso ya lo hace. Pero he visto si por ejemplo se escriben las noticias 1, 2 y 3 y después de algunos días se desea dejar esas mismas noticias y publicar la 4 y 5 habrá un problema ya que se borrarán las anteriores y solo se escribiran las nuevas. Se me ocurre que la opción para evitar lo anterior es recuperar los datos escritos en el xml y rellenar las respectivas casillas input con esos valores, el problema es que no sé cómo hacerlo. Estuve viendo que la instruccion para leer el xml es xml_parse pero sinceramente no le comprendo bien.

Gracias.

Última edición por yconoclasta; 08/08/2005 a las 17:51