Ik ben dus bezig om via SAX een XML parser te fabriceren in PHP
Nu heb ik een class gemaakt en die geef je een XML file en 2 arrays met start & endtags. In de class zitten wat methods die de goede html bij de tags zoekt.
Wat is dan het probleem zou je zeggen
Nou in de hoofd-method zeg maar, wordt de XML file geopend en wordt een handler aangemaakt. Het probleem is nu alleen dat ik een error krijg als ik de data wil gaan lezen...
Dat is hier dus regel 18..
Hij kan een of andere handler functie niet aanroepen. De gegevens die voor "xml_parse()" nodig zijn, zijn er wel
Nu heb ik een class gemaakt en die geef je een XML file en 2 arrays met start & endtags. In de class zitten wat methods die de goede html bij de tags zoekt.
Wat is dan het probleem zou je zeggen
Nou in de hoofd-method zeg maar, wordt de XML file geopend en wordt een handler aangemaakt. Het probleem is nu alleen dat ik een error krijg als ik de data wil gaan lezen...
code:
1
| Warning: Unable to call handler () in f:\zuccio\devzone\test\saxxmlparser.php on line 101 |
Dat is hier dus regel 18..
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| $xmlparser = xml_parser_create(); // set handlers and options for white space processing xml_set_element_handler($xmlparser, $this->startElementHandler, $this->endElementHandler); xml_set_character_data_handler($xmlparser, $this->dataHandler); xml_parser_set_option($xmlparser, XML_OPTION_SKIP_WHITE, $_xml_option_skip_white); if(!$this->isParsebleFile()) { $this->xml_errors[] = "XML file '".$this->xmlfile."' could not be found or processed"; }else{ if(!$fp = fopen($this->xmlfile, "r")) { $this->xml_errors[] = "XML file '".$this->xmlfile."' could not be opened for processing"; }else{ while($data = fread($fp, 4096)) { //xmparser, data en fp bestaan hier wél if(!xml_parse($xmlparser, $data, feof($fp))) { $this->xml_errors[] = "XML file error in file '".$this->xmlfile."'"; } } xml_parser_free($xmlparser); |
Hij kan een of andere handler functie niet aanroepen. De gegevens die voor "xml_parse()" nodig zijn, zijn er wel