RSS Feed解析后显示错误:

时间:2016-06-06 18:47:48

标签: php

对我来说这是一个奇怪的问题,我正在使用simplexml_load_file解析rss feed,它工作正常,直到:

<?php
$xml = simplexml_load_file($url);
$items = $xml->channel->item;
foreach($items as $offer)
{ 
    echo $offer->title;
    echo "<br />";
    echo $offer->guid;
    echo "<br />";
    echo $offer->description;
    echo "<br />";
    echo $offer->campinfo:amount;
    echo "<br />";
    echo $offer->campinfo:country;
    echo "<br />";
    echo $offer->campinfo:type;
    echo "<br />";
    echo "<hr>";
?>

它击中了这些部分:

$优惠 - &GT; campinfo:量; “”导致脚本错误输出,解析错误:语法错误,意外':',期待','或';'

我找不到任何相关信息,我们将不胜感激。

编辑:添加了示例

<item>
<title>win iPhone 6s!</title>
<link>http://qckclk.com/offer.php?id=341201&amp;pub=240627&amp;subid=</link>
<guid>http://qckclk.com/offer.php?id=341201&amp;pub=240627</guid>
<description>il suffit d&#039;;entrer votre numéro pour gagner 6s iPhone!</description>
<campinfo:amount>10.24</campinfo:amount>
<campinfo:campid>341201</campinfo:campid>
<campinfo:country>LU</campinfo:country>
<campinfo:type>Pin+Submit</campinfo:type>
<campinfo:epc>1.01</campinfo:epc>
<campinfo:ratio>9</campinfo:ratio>
</item>

3 个答案:

答案 0 :(得分:1)

:在变量名称中无效。如果您需要访问不是有效标识符的属性,则需要使用{"string"}表示法:

echo $offer->{"campinfo:amount"};

答案 1 :(得分:0)

http://php.net/manual/en/language.variables.basics.php

  

有效的变量名称以字母或下划线开头,后跟   任意数量的字母,数字或下划线   作为正则表达式,它将表达如下:   '[A-ZA-Z_ \ x7f- \ XFF] [A-ZA-Z0-9_ \ x7f- \ XFF] *'

echo $ offer-&gt; campinfo:amount;

在变量中包含:,根据手册不合法。

更改或var_dump ($offer)以查看其中的实际内容

答案 2 :(得分:0)

对于将来需要知道的人,答案是:

$ offer-&gt;儿童(&#39; campinfo&#39;,true) - &gt;金额;