Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php问题中的xml解析_Php_Xml_Parsing - Fatal编程技术网

php问题中的xml解析

php问题中的xml解析,php,xml,parsing,Php,Xml,Parsing,我将此代码/函数方法作为php类的一部分: function defaulthome(){ $fp = null; $err =''; $xml_parser = xml_parser_create(); $rss_parser = new Rssparser(); xml_set_object($xml_parser,&$rss_parser); xml_set_element_handler($xml_pa

我将此代码/函数方法作为php类的一部分:

function defaulthome(){


    $fp = null;
    $err  ='';
    $xml_parser = xml_parser_create();    
    $rss_parser = new Rssparser();    
    xml_set_object($xml_parser,&$rss_parser);    
    xml_set_element_handler($xml_parser, "startElement", "endElement");    
    xml_set_character_data_handler($xml_parser, "characterData");    
    $fp = fopen("http://gulfnews.com/cmlink/business-rss-feed-1.446098?localLinksEnabled=false","r");  

      if(!$fp) $err = "Error reading RSS data.";  
      else {  

            $count = 0;

            while ($data = fread($fp, 4096) && $count<10) {  
                xml_parse($xml_parser, $data, feof($fp)) or $err=xml_error_string(xml_get_error_code($xml_parser)); 


                $count++;
            }


    }

    fclose($fp);    
    xml_parser_free($xml_parser);

    $content_sect2 = $this->tnjn->render('forms/landlords_prompt.phtml');
    $context = array('content1_title'=>'Welcome to my website','content1_article'=>"test article", 'feeds'=>$err);
    $output = $this->tnjn->render("default.phtml", $context);
    return $output; 
}

我没有得到结果,我的错误是空文档!有人知道代码的哪一部分有问题吗


非常感谢

查看打开错误报告是否提供任何信息。错误报告全部

为什么要用fopen获取xml? 相反,尝试使用simplexml\u load\u文件获取xml

if (!$xml = simplexml_load_file("http://domain.com/rss.xml")) 
{
            echo('Unable to load or parse search results feed');
        }
        if (!count($entries = $xml->entry)) {
            echo('No entry found');
        }
        for($i=0;$i<count($entries);$i++) 
        {
            echo $entries->autor;
        }

对不起,我刚刚自己解决了。while位于$data=fread的部分应在&&$count之前首先进行限定。对不起,伙计们。你们似乎并没有对实际解析的数据做任何事情,你们似乎只是在做一些有任何错误的事情$err。是的,我在测试它是否有任何错误