$requestAddress = "http://www.aaa.ru"; $xml_str = file_get_contents($requestAddress,0); $xml = new SimplexmlElement($xml_str); выдаёт ошибку String could not be parsed as XML Как быть? Спасибо
вот там какая хрень Полный текст фрагмента <?php function getWeather() { $requestAddress = "http://www.google.com/ig/api?weather=челябинск&hl=ru"; $xml_str = file_get_contents($requestAddress,0); XML $xml = new SimplexmlElement($xml_str); $count = 0; echo '<div id="weather">'; foreach($xml->weather as $item) { foreach($item->forecast_conditions as $new) { echo '<div class="weatherIcon">'; echo '<img src="http://www.google.com/' .$new->icon['data'] . '"/><br/>'; echo $new->day_of_week['data']; echo '</div>'; } } echo '</div>';} getWeather(); ?> а по адресу http://www.google.com/ig/api?weather=челябинск&hl=ru лежит <xml_api_reply version="1"> <weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0"> <forecast_information> <city data="Chelyabinsk, Province of Chelyabinsk"/> <postal_code data="челябинск"/> <latitude_e6 data=""/> <longitude_e6 data=""/> <forecast_date data="2010-02-10"/> <current_date_time data="2010-02-10 08:00:00 +0000"/> <unit_system data="US"/> </forecast_information> <current_conditions> <condition data="Cloudy"/> <temp_f data="-13"/> <temp_c data="-25"/> <humidity data="Humidity: 73%"/> <icon data="/ig/images/weather/cloudy.gif"/> <wind_condition data="Wind: SE at 4 mph"/> </current_conditions> <forecast_conditions> <day_of_week data="Wed"/> <low data="-17"/> <high data="2"/> <icon data="/ig/images/weather/mostly_sunny.gif"/> <condition data="Mostly Sunny"/> </forecast_conditions> <forecast_conditions> <day_of_week data="Thu"/> <low data="-1"/> <high data="12"/> <icon data="/ig/images/weather/cloudy.gif"/> <condition data="Cloudy"/> </forecast_conditions> <forecast_conditions> <day_of_week data="Fri"/> <low data="5"/> <high data="18"/> <icon data="/ig/images/weather/mostly_sunny.gif"/> <condition data="Partly Sunny"/> </forecast_conditions> <forecast_conditions> <day_of_week data="Sat"/> <low data="6"/> <high data="27"/> <icon data="/ig/images/weather/mostly_sunny.gif"/> <condition data="Partly Sunny"/> </forecast_conditions> </weather></xml_api_reply>
в настоящий момент там лежит <?xml version="1.0"?><xml_api_reply version="1"><weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" ><problem_cause data="Информация временно недоступна."/></weather></xml_api_reply> Но вопрос для начала в том, вытягивает ли file_get_contents($requestAddress,0); этот xml или нет.
вытягивает, скорее всего Георгий 1. у SimplexmlElement конструктор принимает в качестве первого параметра и url PHP: <?php $xml = new SimplexmlElement($requestAddress, null, true); ?> 2. Кодировки либо приводить к utf-8, чтоб SimplexmlElement мог отработать PHP: <?php $xml_str = mb_convert_encoding($xml_str, 'UTF-8');?> либо просто указать кодировку ответа в запросе