PhpRiot

Listing 1819

Submitted by grisella, 3 December 2008
    function simpleXMLparse($data)
    {
        if(! ($xmlparser = xml_parser_create()))
        {
            die("Cannot create XML parser");
        }
        else
        {
            
            xml_set_element_handler($xmlparser, "start_tag", "end_tag");
            xml_set_character_data_handler($xmlparser, "tag_contents");
            
            if (!xml_parse($xmlparser, $data)) 
            {
                  $reason = xml_error_string(xml_get_error_code($xmlparser));
                  $reason .= xml_get_current_line_number($xmlparser);
                  die($reason);
               }
            
            xml_parser_free($xml_parser);
            
            $txt = "";
        
            return $txt;
        }
    }
    
    function start_tag($parser, $name, $attribs) 
    {
           echo "Current tag : ".$name."<br />";
           if (is_array($attribs)) 
           {
              echo "Attributes : <br />";
              while(list($key,$val) = each($attribs)) 
              {
                 echo "Attribute ".$key." has value ".$val."<br />";
                 
               }
           }
    }
    
    function end_tag($parser, $name) 
    {
           echo "Reached ending tag ".$name."<br /><br />";
    }
    function tag_contents($parser, $data) 
    {
           echo "Contents : ".$data."<br />";
    }
Submit a Follow Up