文件中的simplexml_load_file不以.xml结尾

时间:2011-10-20 22:01:16

标签: php simplexml

我正在尝试通过从simplexml_load_file开始加载内容来解析xml文件。该文件来自wordpress,使用.php文件生成的xml提要。

问题是它永远无法加载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 个答案:

答案 0 :(得分:1)

首先在这一行之后:

$result = curl_exec($ch);

你应该加上这个:

$result = utf8_encode($result);

说,你对函数simplexml_load_string($result);没有任何问题,它将根据你给函数的字符串正确创建一个DOM,这是从php页面获取的feed。您可以在语句var_dump($rss);之后使用$rss = simplexml_load_string($result);查看结果。