Добрый день! Хотелось бы разобрать пример процесса общения с сервером.
Посылаю запрос(GetMovies), получаю xml-ответ. Хочу узнать названия фильмов в ответе. Но в хмл строке это закомменчено: <name><!--[CDATA[Starперцы]]--></name>
Почему так и как с этим справиться? str_replace не помогает))
При общении с сервером использую следующие конструкции (может кому пригодятся):
PHP код:
//отправка запроса
fwrite($fp, $str_query);
$n = fgets($fp,11);
fgets($fp,2);
$s = fgets($fp,$n+1);$xml=$s;
fclose($fp);
PHP код:
//обработка ответа, преобразование в массив
$xml=simplexml_load_string($xml);
function objectsIntoArray($arrObjData, $arrSkipIndices = array())
{
$arrData = array();
// if input is object, convert into array
if (is_object($arrObjData)) {
$arrObjData = get_object_vars($arrObjData);
}
if (is_array($arrObjData)) {
foreach ($arrObjData as $index => $value) {
if (is_object($value) || is_array($value)) {
$value = objectsIntoArray($value, $arrSkipIndices); // recursive call
}
if (in_array($index, $arrSkipIndices)) {
continue;
}
$arrData[$index] = $value;
}
}
return $arrData;
}
//Пример обращения к id
echo $arrXml[Data][Movies][Movie][0]['@attributes'][ID];
Отступы не переносятся в сообщение, извините...
С радостью узнаю более простые варианты)))