Чтение возвращаемого XML по функции с помощью SimpleXML

Это довольно сложно объяснить, так что спасибо вам заранее за то, что вы со мной.

Я использую фреймворк Kohana для разработки приложения. У меня есть модельная функция, которая принимает параметры для поиска и должна возвращать страницу в стиле XML. Мне нужно, чтобы это прочитало контроллер с SimpleXML. Есть идеи, как это сделать?

$o = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; $o .= "<feed>\n"; $o .= "\t<search_phrase>$q</search_phrase>\n"; if(isset($entries)){ uasort($entries, 'compare_weight'); /** * Build the xml data */ foreach($modules as $module){ $o .= "\t<search_location>$module</search_location>\n"; } foreach($entries as $k=>$entry){ $o .= "\n\t<entry>\n"; $o .= "\t\t<title>$entry[title]</title>\n"; $o .= "\t\t<url>$entry[url]</url>\n"; $o .= "\t\t<weight>$entry[weight]</weight>\n"; $o .= "\t\t<module>$entry[module]</module>\n"; if($entry['owners']){ foreach($entry['owners'] as $owner){ $o .= "\t\t<owners>\n"; $o .= "\t\t\t<owner_id>$owner[owner_id]</owner_id>\n"; $o .= "\t\t\t<owner_name>$owner[owner_name]</owner_name>\n"; $o .= "\t\t\t<profile_link>$owner[profile_link]</profile_link>\n"; $o .= "\t\t</owners>\n"; } } $o .= "\t</entry>\n"; } }else{ $o .= "\t<noresult>true</noresult>\n"; } $o .= "</feed>\n"; return $o; 

Контроллер функционирует следующим образом … Это самое близкое, что я могу придумать, как это сделать.

  $return= $this->search->search($_GET); $xml = new SimpleXMLElement($return); die($xml); 

Он возвращает пустой документ с 44 пустыми строками. Любое направление было бы полезно.

Solutions Collecting From Web of "Чтение возвращаемого XML по функции с помощью SimpleXML"

insted использования конструктора simpleXML попробуйте использовать функцию simplexml_load_string ()

Попробуйте изменить возврат вашего корса $ xml:

 return echo $o;