使用PHP解析XML(仅限于)

问题描述:

我目前正在努力使用php解析xml-feed。 不幸的是,我并不幸运。使用PHP解析XML(仅限于)

这里是我的代码:

<?php 
echo 'starting parser'; 
$rss = simplexml_load_file('http://www.faz.net/rss/aktuell/wirtschaft/'); 
?> 
//tests 
<h1><?php echo $rss->title; ?></h1> 
<h1><?php echo $rss->channel->title; ?></h1> 
<h1><?php echo $rss->rss->channel->title; ?></h1> 

<ul> 
<?php 

foreach($rss->channel->item as $chan) { 
     echo "<li><a href=\"".$chan->link."\">"; 
     echo $chan->title;  
     echo "</a></li>\n"; 
} 
?> 

没有输出......谁能帮助我吗?

+0

我已经看过那个线程。但是我尝试了一些教程。看起来这个foreach是从来没有输入的。 – Akaino 2014-09-19 08:59:26

+0

@Aainain:我刚刚在当地运行你的脚本,它工作。 – mithunsatheesh 2014-09-19 09:02:18

+0

嗯...所以在我的服务器上安装PHP时会出现问题吗? – Akaino 2014-09-19 09:02:50

你的做法是正确的,我已经尝试过了我的本地Ubuntu的服务器上,它的工作原理(至少是从你的代码左起):

<?php 
echo 'starting parser'; 
$rss = simplexml_load_file('http://www.faz.net/rss/aktuell/wirtschaft/'); 
?> 
<h1><?php echo $rss->channel->title; ?></h1> 
<ul> 
    <?php 
    foreach ($rss->channel->item as $chan) { 
     echo "<li><a href=\"" . $chan->link . "\">"; 
     echo $chan->title; 
     echo "</a></li>\n"; 
    } 
    ?> 
</ul> 

,你看不到任何可以输出的原因在从http://www.faz.net/rss/aktuell/wirtschaft/获取数据,所以我建议对其进行测试:

<?php 
echo 'starting parser'; 
$rss = simplexml_load_file('http://www.faz.net/rss/aktuell/wirtschaft/'); 
echo "<pre>".htmlspecialchars(var_export($rss, true))."</pre>"; 
?> 

此外,我会建议增加trycatch

+0

到目前为止谢谢!我仍然努力获得任何输出。我什至不能找到一个php.ini。 该文件存储在domain.com网络服务器上,可通过sloth-soft.com/PHPReader/reader.php访问 – Akaino 2014-09-19 09:31:55

+0

使用'phpinfo()'函数查看'php.ini'的位置。如果您使用共享hostiong,则可以使用'.htaccess'在php配置中设置一些更改 – Zeusarm 2014-09-19 09:35:19

+0

我找到了.htaccess。但是添加标志会导致PHP崩溃:/ '例如'在php_flag上添加了display_startup_errors' – Akaino 2014-09-19 09:44:17