Срочно требуется кодер. PHP и XML, нужно обработать один маленький xml файлик

FF
На сайте с 06.12.2010
Offline
1
594

Задача. Есть xml файл с информацией о погоде, нужно прочитать оттуда данные и записать их в массив. За подробностями в личку, оставляем контакты свяжусь сам.

Нужно очень срочно, работа оплачиваемая)

[umka]
На сайте с 25.05.2008
Offline
456
#1

function xml2array($data) {

$xml_values = array();
$parser = xml_parser_create('');
if(!$parser)
return false;
xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
xml_parse_into_struct($parser, trim($data), $xml_values);
xml_parser_free($parser);
if (!$xml_values)
return array();
$xml_array = array();
$last_tag_ar =& $xml_array;
$parents = array();
$last_counter_in_tag = array(1=>0);
foreach ($xml_values as $data) {
switch($data['type']) {
case 'open':
$last_counter_in_tag[$data['level']+1] = 0;
$new_tag = array('name' => $data['tag']);
if(isset($data['attributes']))
$new_tag['attributes'] = $data['attributes'];
if(isset($data['value']) && trim($data['value']))
$new_tag['value'] = trim($data['value']);
$last_tag_ar[$last_counter_in_tag[$data['level']]] = $new_tag;
$parents[$data['level']] =& $last_tag_ar;
$last_tag_ar =& $last_tag_ar[$last_counter_in_tag[$data['level']]++];
break;
case 'complete':
$new_tag = array('name' => $data['tag']);
if(isset($data['attributes']))
$new_tag['attributes'] = $data['attributes'];
if(isset($data['value']) && trim($data['value']))
$new_tag['value'] = trim($data['value']);
$last_count = count($last_tag_ar)-1;
$last_tag_ar[$last_counter_in_tag[$data['level']]++] = $new_tag;
break;
case 'close':
$last_tag_ar =& $parents[$data['level']];
break;
default:
break;
}
}
return $xml_array;
}
Лог в помощь!
A
На сайте с 29.12.2007
Offline
68
#2

$result = array();

$xml = simplexml_load_file($filename);
foreach ($xml -> items as $item) {
$city = (string)$item -> city;
$weather = (string)$item -> weather;
$result[$city] = $weather;
}
print_r($result);

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий