XML
|
|
|
|
<?php function GetSubTree(&$array,$level=1) {
$i=0;
$tree = array();
foreach ($array as $key=>$value) {
if ($value["type"] == "close") {
unset($array[$key]);
}
else if ($value["level"] == $level) {
$tree[$i] = $value;
$i++;
unset($array[$key]);
}
else if ($value["level"] > $level) {
$tree[$i-1]["subtree"] = array();
$tree[$i-1]["subtree"] = GetSubTree($array,$level+1);
}
else if ($value["level"] < $level) { break; }
}
return $tree;
} ?>
|
|
|
Usage Example
|
$url = "test2.xml"; //URL of the XML FEED
$contents = file_get_contents($url);
$data = GetXMLTree($contents);
//var_dump($data);
//print"<hr>";
$array = GetSubTree($data);
var_dump($array);
function GetXMLTree ($xmldata)
{
// we want to know if an error occurs
ini_set ('track_errors', '1');
$xmlreaderror = false;
$parser = xml_parser_create ('ISO-8859-1');
xml_parser_set_option ($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parse_into_struct ($parser, $xmldata, $vals, $index);
xml_parser_free ($parser);
return $vals;
}
|
|
|
Rate This Script
|
|
|
|