Ver Mensaje Individual
  #16 (permalink)  
Antiguo 15/08/2005, 15:12
yconoclasta
 
Fecha de Ingreso: febrero-2005
Mensajes: 135
Antigüedad: 19 años, 2 meses
Puntos: 0
Creo que no se entendío.
Quiero hacer un editor de un archivo xml, el cual te recupere la información escrita y por medio de un form modificar los datos o añadir nuevos.
La muestra está ahí, pero no escribe nada, y no recupera bien la información de los nodos !

Help !!! ya llevo una semana con ello y no le hayo.

Código PHP:
<h1>Escribir noticias</h1>
<form name="form1" id="form1" method="post" action="<?=$_SERVER['PHP_SELF'?>">
<?

// fichero con el cuerpo en xml
$file "noticias.xml";
// Acción que hace cuando encuentra la primera etiqueta de un elemento.
function start_element($parser$name$attribs){
    while(list(
$key,$value)=each($attribs))
      switch (
$key) {
        case 
'titulo':
        
$titulo=$value;
?>
<p>Titulo: <input type="text" name="titulo" id="titulo" value="<? echo "$titulo" ?>" /></p>
<?        
        
break;
        case 
'url':
        
$liga=$value;
?>
<p>Url: <input type="text" name="url" id="url" value="<? echo "$liga" ?>" /></p>
<?        
        
break;
    }
}
// Acción para cuando encuentre el final de una etiqueta de un elemento.
function end_element($parser$name){
    }
// Recuperar un dato.
function character_data($parser$data){
    
trim ($data"\r\n");
    if (
$data == "") {
        echo 
"";
        }
    else {
        
$texto=$data;
id="titulo\" value=\"$data\" /></p>";
?>
<p>Noticia: <input type="text" name="noticia" id="noticia" value="<? echo "$data" ?>" /></p>
<?
    
}
}
$xml_parser xml_parser_create('');
xml_parser_set_option($xml_parserXML_OPTION_CASE_FOLDING0);
xml_set_element_handler($xml_parser"start_element""end_element");
xml_set_character_data_handler($xml_parser"character_data");

if(!
file_exists($file))
die(
"\n<p>\"$file\" does not exist.</p>\n</body>\n</html>");

if(!(
$handle fopen($file"r")))
die(
"<p>Cannot open \"$file\".</p>\n</body>\n</html>");

while(
$contents fread($handle4096))
xml_parse($xml_parser$contentsfeof($handle));

fclose($handle);

xml_parser_free($xml_parser); 

if(isset(
$_POST['Submit'])) {
$cont="<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\r\n<noticias>\r\n";
$cont.="<noticia titulo=\"$titulo\" url=\"$liga\">$texto</noticia>\r\n";
$cont.="</noticias>";

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


?>
  <p><input type="submit" name="Submit" value="Agregar noticias" /></p>
</form>