Grazie per avermi risposto
allora io faccio un buffering di una pagin aphp che genera rss...
Codice PHP:
ob_start();
//header('Content-Type: text/html', true);
include(dirname(__FILE__) . '/wp-rss2.php');
$data = ob_get_clean();
echo $data;
$data contiene la stringa 'con dentro xml'
"echo $data;" mi stampa l'rss col titolo ma non gli elementi ripetuti ovvero dei post...
per questo poi quando faccio l'xml parser in php:
Codice PHP:
ob_start();
//header('Content-Type: text/html', true);
include(dirname(__FILE__) . '/wp-rss2.php');
$data = ob_get_clean();
echo $data;
$person_counter = 0;
$person_data = array();
$xml_current_tag_state = '';
function startElementHandler( $parser, $element_name, $element_attribs )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
$xml_current_tag_state = $element_name;
}
function endElementHandler( $parser, $element_name )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
$xml_current_tag_state = '';
if( $element_name == "ITEM" )
{
$person_counter++;
}
}
function characterDataHandler( $xml_parser , $data )
{
global $person_counter;
global $person_data;
global $xml_current_tag_state;
if( $xml_current_tag_state == '' )
return;
if( $xml_current_tag_state == "TITLE" ) {
$person_data[$person_counter]["title"] = $data;
}
if( $xml_current_tag_state == "DESCRIPTION" ) {
$person_data[$person_counter]["description"] = $data;
}
}
if( !($xml_parser = xml_parser_create()) )
die("Couldn't create XML parser!");
xml_set_element_handler($xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler($xml_parser, "characterDataHandler");
xml_parse($xml_parser, $xml);
xml_parser_free($xml_parser);
for( $i=0 ; $i < $person_counter ; ++$i )
{
echo "titolo: " . $person_data[$i]["title"] . "
\n";
echo "Descrizione: " . $person_data[$i]["description"] . "
\n";
mi da questo errore:
Errore interpretazione XML: nessun elemento trovato
Indirizzo: http://localhost/blog/lastPostBlog.php
Linea numero 1, colonna 1:
^