simplexml_load_file из файла, который не заканчивается на .xml - PullRequest
0 голосов
/ 21 октября 2011

Я пытаюсь проанализировать xml-файл, начав с simplexml_load_file для загрузки содержимого.Файл поставляется из WordPress с использованием XML-канала, созданного .php-файлом.

Проблема в том, что он никогда не может загрузить файл XML .. Я не уверен, что я могу сделать, чтобы эта работа.Вот код

 <?php

  $url = "http://marshallmashup.usc.edu/feed.php";

 $ch = curl_init();
  $timeout = 5; 
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
 $result = curl_exec($ch);
 curl_close($ch);

  $rss = simplexml_load_string($result);

  if( ! $rss = simplexml_load_file($url,NULL, LIBXML_NOERROR | LIBXML_NOWARNING) )
 {
   echo 'unable to load XML file';
 }
 else
  {
   echo 'XML file loaded successfully';
  }

  ?>

1 Ответ

1 голос
/ 21 октября 2011

Прежде всего после этой строки:

$result = curl_exec($ch);

вы должны добавить это:

$result = utf8_encode($result);

Сказал, что у вас не будет проблем с функцией simplexml_load_string($result);, котораяправильно создаст DOM на основе строки, которую вы передаете функции, и это фид, полученный со страницы php.Вы можете увидеть результат, используя var_dump($rss); после оператора $rss = simplexml_load_string($result);.

...