Forum Moderators: coopster
I've written a php script to parse a remote XML file. This works fine on my test server however, the chap I've written the script for is using a hosting service which has disabled the file functions. Is there any way of parsing the xml file without access to the File or Curl functions?
Script is below:
if (!($fp=@fopen("http://server/xmlfeed.xml", "r"))) die ("Couldn't open XML.");
$count=0;
$element=array();
$state='';function startElementHandler ($parser,$name,$attrib){
global $count;
global $element;
global $state;
switch ($name) {
case $name=="SELECTION" : {
$element[$count]["child1"] = $attrib["child1"];
$element[$count]["child2"] = $attrib["child2"];
$element[$count]["child3"] = $attrib["child3"];
$element[$count]["child4"] = $attrib["child4"];
$element[$count]["child5"] = $attrib["child5"];
break;
}
default : {$state=$name;break;}
}
}
function endElementHandler ($parser,$name){
global $count;
global $element;
if($name=="SELECTION") {$count++;}
}
function characterDataHandler ($parser, $data) {
global $count;
global $element;
}
if (!($xml_parser = xml_parser_create())) die("Couldn't create parser.");
xml_set_element_handler( $xml_parser, "startElementHandler", "endElementHandler");
xml_set_character_data_handler( $xml_parser, "characterDataHandler");
while( $data = fread($fp, 4096)){
if(!xml_parse($xml_parser, $data, feof($fp))) {
break;}
}
xml_parser_free($xml_parser);
Thanks
Are the DOM Functions [php.net] an option?