This is for parsing out XML data.... using three functions startElement, endElement and characterData :
Code: Select all
function startElement ($parser,$name,$attrib){
global $usercount;
global $franchise;
global $userdata;
global $state;
switch ($name) {
case $name=="FRANCHISE" : {
$userdata[$franchise]["franchise"] = $attrib["ID"];
}
break;
default : {$state=$name; break;}
}
}
function endElement ($parser,$name){
global $usercount;
global $franchise;
global $userdata;
global $state;
$state='';
if($name=="FRANCHISE") {$franchise++;}
}
function characterData ($parser, $data) {
global $usercount;
global $userdata2;
global $franchise;
global $state;
$userdata2[$franchise]["$state"] = $data;
if (!$state) {return;}
if ($state=="H2HL") {
$userdata2[$franchise]["h2hl"] = $data;
$h2hl = $userdata2[$franchise]["h2hl"];
echo "$data , $state, $franchise , $h2hl<p>"; //This is solely for testing.
}
}
$usercount = 0;
$franchise = 0;
$userdata = array();
$userdata2 = array();
$state = '';
$simpleparser = xml_parser_create('UTF-8');
xml_set_element_handler($simpleparser, "startElement", "endElement");
xml_set_character_data_handler($simpleparser, "characterData");
if (!($fp = fopen($file, "r"))) {
die("could not open XML input");
}
while (!feof($fp)) {
$data = fgets($fp);
if (!xml_parse($simpleparser, $data, feof($fp))) {
die(xml_error_string(xml_get_error_code($simpleparser)));
}
}
for ($i=0;$i<$franchise;$i++) {
$h2hw = $userdata[$i]["franchise"];
$h2hl=$userdata2[$i]["h2hl"];
Line 132 echo "<p>Season: $request_season Week: $week Record: <strong>$h2hw - $h2hl</strong></p><hr noshade>";Notice: Undefined variable: h2hl in /home/content/o/n/e/onei0087/html/Thickbook/standings_parser.php on line 132
Season: 2005 Week: 9 Record: 0001 -
So I know that I am getting $h2hw from startElement, but why am I unable to get $h2hl from characterData?