<?php
error_reporting(E_ALL);
#definisce il file XML
$file = "../data.xml";
$currentTag = "";
$attributes = "";
$countmenu = "";
$_PAGE['menu'] = "";
#Debug
$menu = Array('titolo'=>'','link'=>'',);
$page = "";
function StartElement($parser, $tagname, $attributes){
$_SESSION['menu']['currentTag'] = $tagname;
$_SESSION['menu']['currentAttribs'] = $attributes;
switch($tagname){
case "recordset":
break;
case "link":
break;
case "menu":
while(list($key,$value) = each($attributes)){
## Visualizza il nome del menu
echo "<tr><td>
$key:$value</td>\n";
}
break;
}
}
function EndElement($parser, $tagname){
$_SESSION['menu']['currentTag'] = $tagname;
switch($tagname){
case "recordeset":
break;
}
}
function OnData($parser, $data){
switch ($_SESSION['menu']['currentTag']){
case "nome":
echo "<td>$data</td>";
break;
case "url":
echo "<td>$data</td>";
break;
}
}
$xml_parser = xml_parser_create(); #Inizializzazione nuovo parser XML
xml_parser_set_option($xml_parser,XML_OPTION_CASE_ FOLDING,false);
# callback function
xml_set_element_handler($xml_parser, "StartElement", "EndElement");
xml_set_character_data_handler($xml_parser, "OnData");
# open XML file
if (!($fp = fopen($file,"r"))) die("Impossibile aprire il tracciato XML del file
$file ");
#Lettura file XML
while ($data = fread($fp,4096)){
if (!xml_parse($xml_parser,$data, feof($fp)));
}
xml_parser_free($xml_parser);
?>