HELP!!! [Try to make class for parsing XML]

From: Date: Sat, 27 Sep 2003 16:51:29 +0000
Subject: HELP!!! [Try to make class for parsing XML]
Groups: php.xml.dev 
Request: Send a blank email to php-xml-dev+get-218@lists.php.net to get a copy of this message
Hi!!! Please Help me. I look on it code 2 hours and cant see what wrong! class TPageData { var $FileName; var $start_element; var $end_element; var $data_of_element; var $currentElement; function makeFileParser() { /* Creating the xml parser */ $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, $this->start_element, $this->end_element); xml_set_character_data_handler($xml_parser, $this->data_of_element); xml_parser_set_option ($xml_parser, XML_OPTION_CASE_FOLDING, FALSE); if (!($fp = fopen($this->FileName,"r"))) { die("Cannot open $xmlSource."); } while (($data = fread($fp,4096))) { if (!xml_parse($xml_parser, $data, feof($fp))) { die (sprintf("XML error at line %d column %d ", xml_get_current_line_number($xml_parser), xml_get_current_column_number($xml_parser))); } } fclose($fp); xml_parser_free($xml_parser); } function startElement($parser, $name, $attr) { $this->currentElement = $name; } function endElement($parser, $name) { } function characterData($parser, $data) { print "!_" . $this->currentElement . "_!"; // AND I SEE "!__!" ON THE SCREEN. IT MEANS THAT currentElement HAVNT VALUE/ WHY?????? if ($this->currentElement == 'page_title') { $this->pageTitle = $data; } } function TPageData($Name) { $this->FileName = $Name; $this->start_element = array($this,"startElement"); $this->end_element = array($this,"endElement"); $this->data_of_element = array($this,"characterData"); $this->makeFileParser(); } }

« previous php.xml.dev (#218) next »