对我来说这是一个奇怪的问题,我正在使用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&pub=240627&subid=</link>
<guid>http://qckclk.com/offer.php?id=341201&pub=240627</guid>
<description>il suffit d';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>
答案 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;金额;