class XMLParse { private $lastname; private $index=0; private $xml_parser; private $dataarray; public function __construct() { $this->xml_parser = xml_parser_create(); xml_parser_set_option($this->xml_parser, XML_OPTION_CASE_FOLDING, true); xml_set_element_handler($this->xml_parser, "$this->startElement", "$this->endElement"); xml_set_character_data_handler($this->xml_parser, "$this->characterData"); $this->dataarray=array(); } public function startElement($parser, $name, $attrs) { $this->lastname=$name; } public function endElement($parser, $name) { if($name=="TITLE") $this->index++; } public function characterData($parser, $data) { $this->dataarray[$this->index][$this->lastname]=$data; } public function ReadAll($fp) { while ($data = fread($fp, 4096)) { if (!xml_parse($this->xml_parser, $data, feof($fp))) { return array(); } } xml_parser_free($this->xml_parser); return $this->dataarray; } }