Buondì.
Ho un file XML contente il seguente codice:
Quando effettuo il parsing mi visualizza tutti i campi correttamente tranne "descrizione": in prativa vedo solamente l'ultima riga, ovvero tutto quello che viene dopo l'ultimo "codice:<evento> <date> <data>09-07-2005</data> <dataI>09-07-2005</dataI> <dataF>09-07-2005</dataF> </date> <titolo>UNA BIRRA PER L'ESTATE</titolo> <descrizione>Concorso per hombrewers ormai collaudato. Si svolgerà a Piozzo presso il mibrobirrificio Le Baladin. [..CUT..] Il 8-9-10 Luglio dalle ore 22 presso Le Baladin manifestazioni a carattere musicale"</descrizione> <link>http://www.hobbybirra.it/piozzo2005/</link> </evento>
"
Il codice che uso per il parsing è il seguente:
Non capisco dove sia la causa del problema....codice:$file = 'eventi.xml'; $stack = array(); function startTag($parser, $name, $attrs) { global $stack; $tag=array("name"=>$name,"attrs"=>$attrs); array_push($stack,$tag); } function cdata($parser, $cdata) { global $stack,$i; if(trim($cdata)) { $stack[count($stack)-1]['cdata']=$cdata; } } function endTag($parser, $name) { global $stack; $stack[count($stack)-2]['children'][] = $stack[count($stack)-1]; array_pop($stack); } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startTag", "endTag"); xml_set_character_data_handler($xml_parser, "cdata"); $data = xml_parse($xml_parser,file_get_contents($file)); if(!$data) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } xml_parser_free($xml_parser);![]()

Rispondi quotando
