$article = array();
$newscount = 0;
$flag= '';
function opening_element($parser, $element, $attributes) {
// opening XML element callback function
global $article;
global $newscount;
global $flag;
if($element == "Article"){
$article[$newscount]['id'] = $attributes['ID'];
} else if($element == "Heading"){
$flag = "heading";
} else if($element == "Date"){
$flag = "date";
} else if($element == "Contents"){
$flag = "contents";
}
}
function closing_element($parser, $element) {
// closing XML element callback function
global $article;
global $newscount;
global $flag;
if($element == "Article"){
$newscount++;
} else if($element == "Heading"){
$flag = '';
} else if($element == "Date"){
$flag = '';
} else if($element == "Contents"){
$flag = '';
}
}
function character_data($parser, $data) {
// callback function for character data
global $article;
global $newscount;
global $flag;
if($flag=="heading"){
$article[$newscount]['heading'] = $data;
} else if($flag=="date"){
$article[$newscount]['date'] = $data;
} else if($flag=="contents"){
$article[$newscount]['content'] = $data;
}
}
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, false);
xml_set_element_handler($parser, 'opening_element', 'closing_element');
xml_set_character_data_handler($parser, 'character_data');
$document = file(news source here);
foreach ($document as $line) {
xml_parse($parser, $line);
}
xml_parser_free($parser);
If I echo($article[0]['content']) all i get is:
giving educational institutions "a simple blanket immunity".
Mr Collins said the Human Rights Act had had "damaging consequences" since it found its way onto the statute books.
The beginning of the news story is gone...