Partiendo de un xml con la siguiente estructura:
Código:
Utilizo el siguiente código PHP para añadir elementos de tipo <producto>... (puede ser que esté un poco sucio el código de tantas pruebas que hice y por no ser muy ducho con el php):<menu> <productos item="Cajas de cartón" link="http://www.google.com.ar/"/> <productos item="Bolsas de polietileno" link="http://www.lanacion.com.ar/"/> <productos item="Librería" link="http://www.ejdg.com.ar/"/> <productos item="Panadería" link="http://www.ejdg.com.ar/blog"/> <productos item="Fotocopiado" link="http://www.ejdg.com.ar/blog"/> <productos item="Arías" link="asas"/> </menu>
Código PHP:
<?
$menu = Array();
function start_element($parser, $name, $attrs){
global $menu;
if($name == "productos"){
array_push($menu, $attrs);
}
}
function end_element ($parser, $name){}
$menu_string = file_get_contents("xml/menu.xml");
$menu_string = utf8_encode($menu_string);
$parser = xml_parser_create("UTF-8");
xml_set_element_handler($parser, "start_element", "end_element");
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse($parser, $menu_string) or die("Error parsing XML document.");
$parser = utf8_encode($parser);
print "<br />";
if($_POST['action'] == "ins"){
array_push($menu, Array(
"item" => $_POST['item'],
"link" => $_POST['link']));
$menu_final = $menu;
}else if($_POST['action'] == "del"){
$menu_final = Array();
foreach($menu as $productos){
if($productos['item'] != $_POST['item']){
array_push($menu_final, $productos);
}
}
}
$write_string = "<?xml version=\"1.0\" encoding=\"utf-8\"?><menu>";
foreach($menu_final as $productos){
$write_string .= "<productos item=\"$productos[item]\" link=\"$productos[link]\" />";
}
$write_string .= "</menu>";
$fp = fopen("xml/menu.xml", "w+");
fwrite($fp, utf8_encode($write_string)) or die("Error writing to file");
fclose($fp);
print "<em>Song inserted or deleted successfully :)</em><br />";
print "<a href=\"ModifyMenu.php\" title=\"return\">Return</a>";
?>
Código:
Desde ya agradezco cualquier ayuda que me puedan dar. <menu> <productos item="Cajas de cartón" link="http://www.google.com.ar/"/> <productos item="Bolsas de polietileno" link="http://www.lanacion.com.ar/"/> <productos item="LibrerÃÂ*a" link="http://www.ejdg.com.ar/"/> <productos item="PanaderÃÂ*a" link="http://www.ejdg.com.ar/blog"/> <productos item="Fotocopiado" link="http://www.ejdg.com.ar/blog"/> <productos item="ArÃÂ*as" link="asas"/> <productos item="Polícia" link="Polícia"/> </menu>