PHP错误:SimpleXMLElement :: __ construct()

时间:2012-12-10 22:56:50

标签: php xml rss

由于某种原因,我用来获取feedburner计数作为在我的网站周围使用的字符串的脚本(http://ios-blog.co.uk)已停止工作:(这是它抛出的错误:

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 2:     parser error : Opening and ending tag mismatch: meta line 1 and HEAD in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: <TITLE>301 Moved</TITLE></HEAD><BODY> in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 6: parser error : Opening and ending tag mismatch: HEAD line 1 and HTML in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: </BODY></HTML> in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: Entity: line 7: parser error : Premature end of data in tag HTML line 1 in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: in /home/connect.php on line 83

Warning: SimpleXMLElement::__construct() [simplexmlelement.--construct]: ^ in /home/connect.php on line 83

Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/connect.php:83 Stack trace: #0 /home/connect.php(83): SimpleXMLElement->__construct('<HTML><HEAD><me...') #1 {main} thrown in /home/connect.php on line 83

这是我正在使用的PHP:

//get cool feedburner count
$whaturl="http://api.feedburner.com/awareness/1.0/GetFeedData?uri=iosdevblog";

//Initialize the Curl session
$ch = curl_init();

//Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//Set the URL
curl_setopt($ch, CURLOPT_URL, $whaturl);

//Execute the fetch
$data = curl_exec($ch);

//Close the connection
curl_close($ch);
$xml = new SimpleXMLElement($data);
$fb = $xml->feed->entry['circulation'];
echo $fb;
//end get cool feedburner count

文件很大 - 它与行83相关:$xml = new SimpleXMLElement($data);

感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

看看这一行

警告:SimpleXMLElement :: __ construct()[simplexmlelement .-- construct]:301在第83行的/home/connect.php中移动

它正在移动HTTP代码301。

如果您访问此链接

https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=iosdevblog

实际上是404,那里没有XML。

答案 1 :(得分:2)

啊......现在已经弃用了feedburner - 这就是它突然停止的原因:( https://developers.google.com/feedburner/