xmlparser = xml_parser_create(); xml_set_object($this->xmlparser, &$this); xml_set_element_handler($this->xmlparser, "startTag", "endTag"); xml_set_character_data_handler($this->xmlparser, "characterData"); } // Функция отвечает за обработку всех открывающих тегов. function startTag($parser, $tagname, $attributes) { GLOBAL $tagcolor; print "tagcolor\" face=\"arial, verdana\"><$tagname>
"; } // Функция отвечает за обработку всех символьных данных. function characterData($parser, $characterData) { GLOBAL $datacolor; print "datacolor\" face=\"arial, verdana\">   $characterData
"; } // Функция отвечает за обработку всех закрывающих тегов. function endTag($parser, $tagname) { GLOBAL $tagcolor; print "tagcolor\" face=\"arial, verdana\"></$tagname>
"; } function parse($fp) { // xml_parse($this->xmlparser,$data); // Обработать файл XML while ( $line = fread($fp, 4096) ) : // При возникновении ошибки прервать обработку // и вывести сообщение об ошибке. if ( ! xml_parse($this->xmlparser, $line, feof($fp))) : die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($this->xmlparser)), xml_get_current_line_number($this->xmlparser))); endif; endwhile; } } // Открыть файл XML для обработки $xml_file = "bookmarks.xml"; $fp = fopen($xml_file, "r"); // Создать новый объект $xml_parser = new XMLHTML; // Обработать $xml_file $xml_parser->parse($fp); ?>